Version Notes
1.9.3.0
Download this release
Release Info
Developer | Magento Core Team |
Extension | Mage_Core_Modules |
Version | 1.9.3.0 |
Comparing to | |
See all releases |
Code changes from version 1.9.2.4 to 1.9.3.0
- .htaccess.sample +15 -0
- RELEASE_NOTES.txt +11 -1
- api.php +5 -2
- app/Mage.php +2 -2
- app/code/core/Mage/Admin/Model/User.php +3 -3
- app/code/core/Mage/Admin/etc/config.xml +1 -1
- app/code/core/Mage/Api/Model/Server/Handler/Abstract.php +47 -6
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes.php +1 -0
- app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option.php +7 -2
- app/code/core/Mage/Catalog/Block/Product/Abstract.php +11 -6
- app/code/core/Mage/Catalog/Block/Product/List.php +2 -5
- app/code/core/Mage/Catalog/Block/Product/View.php +6 -61
- app/code/core/Mage/Catalog/Block/Product/View/Type/Configurable.php +33 -26
- app/code/core/Mage/Catalog/Helper/Image.php +8 -1
- app/code/core/Mage/Catalog/Helper/Product.php +40 -0
- app/code/core/Mage/Catalog/Helper/Product/Type/Composite.php +195 -0
- app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Groupprice/Abstract.php +6 -3
- app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Media.php +4 -1
- app/code/core/Mage/Catalog/Model/Product/Link/Api/V2.php +4 -4
- app/code/core/Mage/Catalog/Model/Resource/Eav/Attribute.php +1 -1
- app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Groupprice.php +13 -0
- app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Eav/Source.php +3 -3
- app/code/core/Mage/Catalog/Model/Resource/Product/Link/Product/Collection.php +48 -2
- app/code/core/Mage/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php +11 -6
- app/code/core/Mage/Catalog/data/catalog_setup/data-upgrade-1.6.0.0.19.1.3-1.6.0.0.19.1.4.php +77 -0
- app/code/core/Mage/Catalog/etc/config.xml +2 -1
- app/code/core/Mage/Catalog/etc/system.xml +9 -0
- app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.19.1.2-1.6.0.0.19.1.3.php +44 -0
- app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.19.1.4-1.6.0.0.19.1.5.php +37 -0
- app/code/core/Mage/CatalogInventory/Model/Observer.php +1 -0
- app/code/core/Mage/CatalogInventory/Model/Stock/Item.php +21 -0
- app/code/core/Mage/CatalogRule/Model/Action/Index/Refresh.php +26 -4
- app/code/core/Mage/CatalogSearch/Model/Resource/Advanced.php +1 -1
- app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext.php +40 -42
- app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext/Collection.php +173 -13
- app/code/core/Mage/CatalogSearch/Model/Resource/Helper/Mysql4.php +16 -1
- app/code/core/Mage/Checkout/Model/Cart.php +9 -6
- app/code/core/Mage/Checkout/Model/Type/Multishipping.php +3 -0
- app/code/core/Mage/Checkout/Model/Type/Onepage.php +16 -0
- app/code/core/Mage/Checkout/controllers/CartController.php +26 -1
- app/code/core/Mage/Checkout/controllers/OnepageController.php +22 -10
- app/code/core/Mage/Cms/Block/Page.php +24 -2
- app/code/core/Mage/Cms/Helper/Wysiwyg/Images.php +2 -1
- app/code/core/Mage/Cms/Model/Wysiwyg/Images/Storage.php +5 -4
- app/code/core/Mage/ConfigurableSwatches/Block/Catalog/Product/List/Price.php +95 -0
- app/code/core/Mage/ConfigurableSwatches/Helper/Data.php +27 -1
- app/code/core/Mage/ConfigurableSwatches/Helper/List/Price.php +118 -0
- app/code/core/Mage/ConfigurableSwatches/Helper/Mediafallback.php +52 -10
- app/code/core/Mage/ConfigurableSwatches/Model/Observer.php +14 -7
- app/code/core/Mage/ConfigurableSwatches/Model/Resource/Catalog/Product/Attribute/Super/Collection.php +52 -33
- app/code/core/Mage/ConfigurableSwatches/etc/system.xml +9 -0
- app/code/core/Mage/Core/Block/Abstract.php +11 -1
- app/code/core/Mage/Core/Block/Template.php +1 -1
- app/code/core/Mage/Core/Controller/Varien/Action.php +1 -0
- app/code/core/Mage/Core/Helper/String.php +41 -1
- app/code/core/Mage/Core/Helper/Url.php +1 -1
- app/code/core/Mage/Core/Model/Config.php +3 -0
- app/code/core/Mage/Core/Model/Email/Queue.php +0 -2
- app/code/core/Mage/Core/Model/Email/Template.php +1 -0
- app/code/core/Mage/Core/Model/Email/Template/Abstract.php +15 -31
- app/code/core/Mage/Core/Model/Encryption.php +2 -2
- app/code/core/Mage/Core/Model/File/Storage/Abstract.php +3 -3
- app/code/core/Mage/Core/Model/File/Validator/AvailablePath.php +6 -6
- app/code/core/Mage/Core/Model/Input/Filter/MaliciousCode.php +7 -1
- app/code/core/Mage/Core/Model/Layout.php +1 -1
- app/code/core/Mage/Core/Model/Resource/Url/Rewrite.php +3 -3
- app/code/core/Mage/Core/Model/Resource/Variable/Collection.php +1 -1
- app/code/core/Mage/Core/Model/Session/Abstract/Varien.php +21 -0
- app/code/core/Mage/Core/etc/config.xml +8 -0
- app/code/core/Mage/Core/etc/jstranslator.xml +2 -2
- app/code/core/Mage/Core/etc/system.xml +1 -1
- app/code/core/Mage/Core/functions.php +35 -0
- app/code/core/Mage/Cron/Model/Schedule.php +5 -1
- app/code/core/Mage/Customer/Block/Address/Book.php +2 -1
- app/code/core/Mage/Customer/Helper/Data.php +37 -0
- app/code/core/Mage/Customer/Model/Customer.php +66 -8
- app/code/core/Mage/Customer/Model/Flowpassword.php +121 -0
- app/code/core/Mage/Customer/Model/Observer.php +13 -1
- app/code/core/Mage/Customer/Model/Resource/Flowpassword.php +44 -0
- app/code/core/Mage/Customer/Model/Resource/Flowpassword/Collection.php +44 -0
- app/code/core/Mage/Customer/controllers/AccountController.php +55 -25
- app/code/core/Mage/Customer/controllers/AddressController.php +3 -0
- app/code/core/Mage/Customer/data/customer_setup/data-upgrade-1.6.2.0.4-1.6.2.0.5.php +78 -0
- app/code/core/Mage/Customer/etc/config.xml +33 -2
- app/code/core/Mage/Customer/etc/system.xml +64 -1
- app/code/core/Mage/Customer/sql/customer_setup/upgrade-1.6.2.0.4-1.6.2.0.5.php +58 -0
- app/code/core/Mage/Dataflow/Model/Profile.php +14 -4
- app/code/core/Mage/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Links.php +49 -21
- app/code/core/Mage/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Samples.php +49 -24
- app/code/core/Mage/Downloadable/Helper/File.php +52 -612
- app/code/core/Mage/Eav/Block/Adminhtml/Attribute/Edit/Options/Abstract.php +2 -3
- app/code/core/Mage/Eav/Model/Entity/Abstract.php +10 -5
- app/code/core/Mage/Eav/Model/Entity/Attribute.php +2 -1
- app/code/core/Mage/Eav/Model/Entity/Attribute/Abstract.php +11 -2
- app/code/core/Mage/Eav/Model/Entity/Attribute/Source/Table.php +2 -2
- app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php +2 -0
- app/code/core/Mage/ImportExport/Helper/Data.php +13 -2
- app/code/core/Mage/ImportExport/Model/Export.php +47 -1
- app/code/core/Mage/ImportExport/Model/Export/Adapter/Abstract.php +17 -0
- app/code/core/Mage/ImportExport/Model/Export/Adapter/Csv.php +2 -0
- app/code/core/Mage/ImportExport/Model/Export/Entity/Abstract.php +58 -2
- app/code/core/Mage/ImportExport/Model/Export/Entity/Customer.php +312 -73
- app/code/core/Mage/ImportExport/Model/Export/Entity/Product.php +161 -88
- app/code/core/Mage/ImportExport/Model/Export/Entity/Product/Type/Abstract.php +1 -1
- app/code/core/Mage/ImportExport/Model/Import/Entity/Customer.php +62 -8
- app/code/core/Mage/ImportExport/Model/Import/Entity/Customer/Address.php +76 -36
- app/code/core/Mage/ImportExport/Model/Import/Entity/Product.php +118 -46
- app/code/core/Mage/ImportExport/Model/Import/Entity/Product/Type/Configurable.php +27 -11
- app/code/core/Mage/ImportExport/Model/Import/Uploader.php +1 -1
- app/code/core/Mage/ImportExport/controllers/Adminhtml/ExportController.php +4 -1
- app/code/core/Mage/ImportExport/etc/config.xml +3 -0
- app/code/core/Mage/ImportExport/etc/system.xml +19 -0
- app/code/core/Mage/Oauth/Model/Server.php +3 -3
- app/code/core/Mage/Paygate/Model/Authorizenet.php +9 -3
- app/code/core/Mage/Payment/Block/Info/Checkmo.php +8 -2
- app/code/core/Mage/Payment/Model/Method/Cc.php +1 -1
- app/code/core/Mage/Paypal/Model/Api/Nvp.php +2 -1
- app/code/core/Mage/Paypal/Model/Express/Checkout.php +23 -1
- app/code/core/Mage/Paypal/Model/Resource/Payment/Transaction.php +20 -0
- app/code/core/Mage/Persistent/Model/Persistent/Config.php +3 -1
- app/code/core/Mage/Reports/Model/Product/Index/Abstract.php +20 -2
- app/code/core/Mage/Reports/Model/Resource/Helper/Mysql4.php +29 -7
- app/code/core/Mage/Rss/Controller/Abstract.php +77 -0
- app/code/core/Mage/Rss/controllers/CatalogController.php +26 -38
- app/code/core/Mage/Rss/controllers/IndexController.php +2 -15
- app/code/core/Mage/Rss/controllers/OrderController.php +22 -18
- app/code/core/Mage/Rss/data/rss_setup/data-install-1.6.0.0.php +34 -0
- app/code/core/Mage/Rss/etc/config.xml +7 -3
- app/code/core/Mage/Rss/etc/system.xml +84 -5
- app/code/core/Mage/Sales/Helper/Guest.php +1 -1
- app/code/core/Mage/Sales/Model/Email/Template.php +1 -1
- app/code/core/Mage/Sales/Model/Order.php +17 -3
- app/code/core/Mage/Sales/Model/Order/Invoice/Total/Subtotal.php +4 -36
- app/code/core/Mage/Sales/Model/Quote/Address/Total/Subtotal.php +1 -1
- app/code/core/Mage/Sales/Model/Quote/Item.php +1 -1
- app/code/core/Mage/Sales/Model/Quote/Item/Abstract.php +4 -1
- app/code/core/Mage/Sales/Model/Resource/Order/Payment.php +24 -0
- app/code/core/Mage/Sales/Model/Resource/Order/Payment/Transaction.php +24 -0
- app/code/core/Mage/Sales/Model/Resource/Quote.php +2 -2
- app/code/core/Mage/Sales/Model/Resource/Quote/Payment.php +20 -0
- app/code/core/Mage/Sales/Model/Resource/Recurring/Profile.php +27 -0
- app/code/core/Mage/Sales/Model/Resource/Report/Bestsellers.php +3 -8
- app/code/core/Mage/Sales/Model/Resource/Report/Bestsellers/Collection.php +19 -6
- app/code/core/Mage/Sales/etc/config.xml +2 -1
- app/code/core/Mage/Sales/sql/sales_setup/upgrade-1.6.0.9-1.6.0.10.php +51 -0
- app/code/core/Mage/SalesRule/Model/Rule/Condition/Product.php +1 -1
- app/code/core/Mage/SalesRule/Model/Rule/Condition/Product/Combine.php +16 -1
- app/code/core/Mage/SalesRule/Model/Validator.php +182 -188
- app/code/core/Mage/SalesRule/etc/config.xml +2 -2
- app/code/core/Mage/Sitemap/Model/Sitemap.php +4 -2
- app/code/core/Mage/Tax/etc/config.xml +2 -2
- app/code/core/Mage/Uploader/Block/Abstract.php +247 -0
- app/code/core/Mage/Uploader/Block/Multiple.php +71 -0
- app/code/core/Mage/Uploader/Block/Single.php +52 -0
- app/code/core/Mage/Uploader/Helper/Data.php +35 -0
- app/code/core/Mage/Uploader/Helper/File.php +758 -0
- app/code/core/Mage/Uploader/Model/Config/Abstract.php +76 -0
- app/code/core/Mage/Uploader/Model/Config/Browsebutton.php +73 -0
- app/code/core/Mage/Uploader/Model/Config/Misc.php +54 -0
- app/code/core/Mage/Uploader/Model/Config/Uploader.php +128 -0
- app/code/core/Mage/Uploader/etc/config.xml +73 -0
- app/code/core/Mage/Uploader/etc/jstranslator.xml +45 -0
- app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl.php +4 -4
- app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl/International.php +18 -3
- app/code/core/Mage/Usa/Model/Shipping/Carrier/Fedex.php +3 -2
- app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups.php +3 -3
- app/code/core/Mage/Usa/Model/Shipping/Carrier/Usps.php +6 -0
- app/code/core/Mage/Usa/etc/config.xml +5 -1
- app/code/core/Mage/Usa/etc/system.xml +27 -0
- app/code/core/Mage/Weee/Model/Observer.php +4 -1
- app/code/core/Mage/Wishlist/Block/Customer/Wishlist/Item/Options.php +6 -3
- app/code/core/Mage/Wishlist/Helper/Data.php +4 -1
- app/code/core/Mage/Wishlist/controllers/IndexController.php +3 -0
- app/code/core/Zend/Validate/Hostname.php +1684 -0
- app/etc/modules/Mage_All.xml +8 -1
- cron.php +1 -1
- errors/processor.php +21 -9
- package.xml +5 -5
.htaccess.sample
CHANGED
@@ -127,6 +127,21 @@
|
|
127 |
|
128 |
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
|
129 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
############################################
|
131 |
## always send 404 on missing files in these folders
|
132 |
|
127 |
|
128 |
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
|
129 |
|
130 |
+
<IfModule mod_setenvif.c>
|
131 |
+
<IfModule mod_headers.c>
|
132 |
+
|
133 |
+
############################################
|
134 |
+
# X-Content-Type-Options: nosniff disable content-type sniffing on some browsers.
|
135 |
+
Header set X-Content-Type-Options: nosniff
|
136 |
+
|
137 |
+
############################################
|
138 |
+
# This header forces to enables the Cross-site scripting (XSS) filter in browsers (if disabled)
|
139 |
+
BrowserMatch \bMSIE\s8 ie8
|
140 |
+
Header set X-XSS-Protection: "1; mode=block" env=!ie8
|
141 |
+
|
142 |
+
</IfModule>
|
143 |
+
</IfModule>
|
144 |
+
|
145 |
############################################
|
146 |
## always send 404 on missing files in these folders
|
147 |
|
RELEASE_NOTES.txt
CHANGED
@@ -1,3 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
==== 1.9.2.4 ====
|
2 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
3 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
@@ -53,7 +63,7 @@
|
|
53 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
54 |
] NOTE: Current Release Notes are maintained at: [
|
55 |
] [
|
56 |
-
] http://
|
57 |
] [
|
58 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
59 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
1 |
+
==== 1.9.3.0 ====
|
2 |
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
3 |
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
4 |
+
] NOTE: Current Release Notes are maintained at: [
|
5 |
+
] [
|
6 |
+
] http://merch.docs.magento.com/ce/user_guide/magento/release-notes-ce-1.9.3.0.html [
|
7 |
+
] [
|
8 |
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
9 |
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
10 |
+
|
11 |
==== 1.9.2.4 ====
|
12 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
13 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
63 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
64 |
] NOTE: Current Release Notes are maintained at: [
|
65 |
] [
|
66 |
+
] http://devdocs.magento.com/guides/m1x/ce18-ee113/ce1.9_release-notes.html [
|
67 |
] [
|
68 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
69 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
api.php
CHANGED
@@ -74,8 +74,11 @@ if (in_array($apiAlias, Mage_Api2_Model_Server::getApiTypes())) {
|
|
74 |
} else {
|
75 |
/* @var $server Mage_Api_Model_Server */
|
76 |
$server = Mage::getSingleton('api/server');
|
77 |
-
|
78 |
-
|
|
|
|
|
|
|
79 |
// if no adapters found in aliases - find it by default, by code
|
80 |
if (null === $adapterCode) {
|
81 |
$adapterCode = $apiAlias;
|
74 |
} else {
|
75 |
/* @var $server Mage_Api_Model_Server */
|
76 |
$server = Mage::getSingleton('api/server');
|
77 |
+
if (!$apiAlias) {
|
78 |
+
$adapterCode = 'default';
|
79 |
+
} else {
|
80 |
+
$adapterCode = $server->getAdapterCodeByAlias($apiAlias);
|
81 |
+
}
|
82 |
// if no adapters found in aliases - find it by default, by code
|
83 |
if (null === $adapterCode) {
|
84 |
$adapterCode = $apiAlias;
|
app/Mage.php
CHANGED
@@ -170,8 +170,8 @@ final class Mage
|
|
170 |
return array(
|
171 |
'major' => '1',
|
172 |
'minor' => '9',
|
173 |
-
'revision' => '
|
174 |
-
'patch' => '
|
175 |
'stability' => '',
|
176 |
'number' => '',
|
177 |
);
|
170 |
return array(
|
171 |
'major' => '1',
|
172 |
'minor' => '9',
|
173 |
+
'revision' => '3',
|
174 |
+
'patch' => '0',
|
175 |
'stability' => '',
|
176 |
'number' => '',
|
177 |
);
|
app/code/core/Mage/Admin/Model/User.php
CHANGED
@@ -640,8 +640,8 @@ class Mage_Admin_Model_User extends Mage_Core_Model_Abstract
|
|
640 |
return true;
|
641 |
}
|
642 |
|
643 |
-
$
|
644 |
-
if ($
|
645 |
return true;
|
646 |
}
|
647 |
|
@@ -665,7 +665,7 @@ class Mage_Admin_Model_User extends Mage_Core_Model_Abstract
|
|
665 |
/**
|
666 |
* Simple sql format date
|
667 |
*
|
668 |
-
* @param string $
|
669 |
* @return string
|
670 |
*/
|
671 |
protected function _getDateNow($dayOnly = false)
|
640 |
return true;
|
641 |
}
|
642 |
|
643 |
+
$hoursDifference = floor(($currentTimestamp - $tokenTimestamp) / (60 * 60));
|
644 |
+
if ($hoursDifference >= $tokenExpirationPeriod) {
|
645 |
return true;
|
646 |
}
|
647 |
|
665 |
/**
|
666 |
* Simple sql format date
|
667 |
*
|
668 |
+
* @param string | boolean $dayOnly
|
669 |
* @return string
|
670 |
*/
|
671 |
protected function _getDateNow($dayOnly = false)
|
app/code/core/Mage/Admin/etc/config.xml
CHANGED
@@ -85,7 +85,7 @@
|
|
85 |
<emails>
|
86 |
<forgot_email_template>admin_emails_forgot_email_template</forgot_email_template>
|
87 |
<forgot_email_identity>general</forgot_email_identity>
|
88 |
-
<password_reset_link_expiration_period>
|
89 |
</emails>
|
90 |
</admin>
|
91 |
</default>
|
85 |
<emails>
|
86 |
<forgot_email_template>admin_emails_forgot_email_template</forgot_email_template>
|
87 |
<forgot_email_identity>general</forgot_email_identity>
|
88 |
+
<password_reset_link_expiration_period>2</password_reset_link_expiration_period>
|
89 |
</emails>
|
90 |
</admin>
|
91 |
</default>
|
app/code/core/Mage/Api/Model/Server/Handler/Abstract.php
CHANGED
@@ -288,13 +288,15 @@ abstract class Mage_Api_Model_Server_Handler_Abstract
|
|
288 |
}
|
289 |
|
290 |
if (method_exists($model, $method)) {
|
|
|
291 |
if (isset($methodInfo->arguments) && ((string)$methodInfo->arguments) == 'array') {
|
292 |
-
|
293 |
} elseif (!is_array($args)) {
|
294 |
-
|
295 |
} else {
|
296 |
-
|
297 |
}
|
|
|
298 |
} else {
|
299 |
throw new Mage_Api_Exception('resource_path_not_callable');
|
300 |
}
|
@@ -401,13 +403,15 @@ abstract class Mage_Api_Model_Server_Handler_Abstract
|
|
401 |
}
|
402 |
|
403 |
if (method_exists($model, $method)) {
|
|
|
404 |
if (isset($methodInfo->arguments) && ((string)$methodInfo->arguments) == 'array') {
|
405 |
-
$
|
406 |
} elseif (!is_array($args)) {
|
407 |
-
$
|
408 |
} else {
|
409 |
-
$
|
410 |
}
|
|
|
411 |
} else {
|
412 |
throw new Mage_Api_Exception('resource_path_not_callable');
|
413 |
}
|
@@ -543,4 +547,41 @@ abstract class Mage_Api_Model_Server_Handler_Abstract
|
|
543 |
$this->_startSession($sessionId);
|
544 |
return array_values($this->_getConfig()->getFaults());
|
545 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
546 |
} // Class Mage_Api_Model_Server_Handler_Abstract End
|
288 |
}
|
289 |
|
290 |
if (method_exists($model, $method)) {
|
291 |
+
$result = array();
|
292 |
if (isset($methodInfo->arguments) && ((string)$methodInfo->arguments) == 'array') {
|
293 |
+
$result = $model->$method((is_array($args) ? $args : array($args)));
|
294 |
} elseif (!is_array($args)) {
|
295 |
+
$result = $model->$method($args);
|
296 |
} else {
|
297 |
+
$result = call_user_func_array(array(&$model, $method), $args);
|
298 |
}
|
299 |
+
return $this->processingMethodResult($result);
|
300 |
} else {
|
301 |
throw new Mage_Api_Exception('resource_path_not_callable');
|
302 |
}
|
403 |
}
|
404 |
|
405 |
if (method_exists($model, $method)) {
|
406 |
+
$callResult = array();
|
407 |
if (isset($methodInfo->arguments) && ((string)$methodInfo->arguments) == 'array') {
|
408 |
+
$callResult = $model->$method((is_array($args) ? $args : array($args)));
|
409 |
} elseif (!is_array($args)) {
|
410 |
+
$callResult = $model->$method($args);
|
411 |
} else {
|
412 |
+
$callResult = call_user_func_array(array(&$model, $method), $args);
|
413 |
}
|
414 |
+
$result[] = $this->processingMethodResult($callResult);
|
415 |
} else {
|
416 |
throw new Mage_Api_Exception('resource_path_not_callable');
|
417 |
}
|
547 |
$this->_startSession($sessionId);
|
548 |
return array_values($this->_getConfig()->getFaults());
|
549 |
}
|
550 |
+
|
551 |
+
/**
|
552 |
+
* Prepare Api data for XML exporting
|
553 |
+
* See allowed characters in XML:
|
554 |
+
* @link http://www.w3.org/TR/2000/REC-xml-20001006#NT-Char
|
555 |
+
*
|
556 |
+
* @param array $result
|
557 |
+
* @return mixed
|
558 |
+
*/
|
559 |
+
public function processingMethodResult(array $result)
|
560 |
+
{
|
561 |
+
foreach ($result as &$row) {
|
562 |
+
if (!is_null($row) && !is_bool($row) && !is_numeric($row)) {
|
563 |
+
$row = $this->processingRow($row);
|
564 |
+
}
|
565 |
+
}
|
566 |
+
return $result;
|
567 |
+
}
|
568 |
+
|
569 |
+
/**
|
570 |
+
* Prepare Api row data for XML exporting
|
571 |
+
* Convert not allowed symbol to numeric character reference
|
572 |
+
*
|
573 |
+
* @param $row
|
574 |
+
* @return mixed
|
575 |
+
*/
|
576 |
+
public function processingRow($row)
|
577 |
+
{
|
578 |
+
$row = preg_replace_callback(
|
579 |
+
'/[^\x{0009}\x{000a}\x{000d}\x{0020}-\x{D7FF}\x{E000}-\x{FFFD}\x{10000}-\x{10FFFF}]/u',
|
580 |
+
function ($matches) {
|
581 |
+
return '&#' . Mage::helper('core/string')->uniOrd($matches[0]) . ';';
|
582 |
+
},
|
583 |
+
$row
|
584 |
+
);
|
585 |
+
return $row;
|
586 |
+
}
|
587 |
} // Class Mage_Api_Model_Server_Handler_Abstract End
|
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes.php
CHANGED
@@ -121,6 +121,7 @@ class Mage_Bundle_Block_Adminhtml_Catalog_Product_Edit_Tab_Attributes
|
|
121 |
$groupPrice->setRenderer(
|
122 |
$this->getLayout()->createBlock('adminhtml/catalog_product_edit_tab_price_group')
|
123 |
->setPriceColumnHeader(Mage::helper('bundle')->__('Percent Discount'))
|
|
|
124 |
->setPriceValidation('validate-greater-than-zero validate-percents')
|
125 |
);
|
126 |
}
|
121 |
$groupPrice->setRenderer(
|
122 |
$this->getLayout()->createBlock('adminhtml/catalog_product_edit_tab_price_group')
|
123 |
->setPriceColumnHeader(Mage::helper('bundle')->__('Percent Discount'))
|
124 |
+
->setIsPercent(true)
|
125 |
->setPriceValidation('validate-greater-than-zero validate-percents')
|
126 |
);
|
127 |
}
|
app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option.php
CHANGED
@@ -85,8 +85,13 @@ class Mage_Bundle_Block_Catalog_Product_View_Type_Bundle_Option extends Mage_Bun
|
|
85 |
$_canChangeQty = $_default->getSelectionCanChangeQty();
|
86 |
} elseif (!$inPreConfigured && $selectedOptions && is_numeric($selectedOptions)) {
|
87 |
$selectedSelection = $_option->getSelectionById($selectedOptions);
|
88 |
-
|
89 |
-
|
|
|
|
|
|
|
|
|
|
|
90 |
} elseif (!$this->_showSingle() || $inPreConfigured) {
|
91 |
$_defaultQty = $this->_getSelectedQty();
|
92 |
$_canChangeQty = (bool)$_defaultQty;
|
85 |
$_canChangeQty = $_default->getSelectionCanChangeQty();
|
86 |
} elseif (!$inPreConfigured && $selectedOptions && is_numeric($selectedOptions)) {
|
87 |
$selectedSelection = $_option->getSelectionById($selectedOptions);
|
88 |
+
if ($selectedSelection) {
|
89 |
+
$_defaultQty = $selectedSelection->getSelectionQty() * 1;
|
90 |
+
$_canChangeQty = $selectedSelection->getSelectionCanChangeQty();
|
91 |
+
} else {
|
92 |
+
$_defaultQty = $_selections[0]->getSelectionQty() * 1;
|
93 |
+
$_canChangeQty = $_selections[0]->getSelectionCanChangeQty();
|
94 |
+
}
|
95 |
} elseif (!$this->_showSingle() || $inPreConfigured) {
|
96 |
$_defaultQty = $this->_getSelectedQty();
|
97 |
$_canChangeQty = (bool)$_defaultQty;
|
app/code/core/Mage/Catalog/Block/Product/Abstract.php
CHANGED
@@ -104,6 +104,16 @@ abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Templ
|
|
104 |
*/
|
105 |
protected $_mapRenderer = 'msrp';
|
106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
/**
|
108 |
* Retrieve url for add product to cart
|
109 |
* Will return product view page URL if product has required options
|
@@ -195,12 +205,7 @@ abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Templ
|
|
195 |
*/
|
196 |
public function getMinimalQty($product)
|
197 |
{
|
198 |
-
|
199 |
-
if ($stockItem) {
|
200 |
-
return ($stockItem->getMinSaleQty()
|
201 |
-
&& $stockItem->getMinSaleQty() > 0 ? $stockItem->getMinSaleQty() * 1 : null);
|
202 |
-
}
|
203 |
-
return null;
|
204 |
}
|
205 |
|
206 |
/**
|
104 |
*/
|
105 |
protected $_mapRenderer = 'msrp';
|
106 |
|
107 |
+
/**
|
108 |
+
* Get catalog product helper
|
109 |
+
*
|
110 |
+
* @return Mage_Catalog_Helper_Product
|
111 |
+
*/
|
112 |
+
public function getProductHelper()
|
113 |
+
{
|
114 |
+
return Mage::helper('catalog/product');
|
115 |
+
}
|
116 |
+
|
117 |
/**
|
118 |
* Retrieve url for add product to cart
|
119 |
* Will return product view page URL if product has required options
|
205 |
*/
|
206 |
public function getMinimalQty($product)
|
207 |
{
|
208 |
+
return $this->getProductHelper()->getMinimalQty($product);
|
|
|
|
|
|
|
|
|
|
|
209 |
}
|
210 |
|
211 |
/**
|
app/code/core/Mage/Catalog/Block/Product/List.php
CHANGED
@@ -62,16 +62,13 @@ class Mage_Catalog_Block_Product_List extends Mage_Catalog_Block_Product_Abstrac
|
|
62 |
$this->setCategoryId(Mage::app()->getStore()->getRootCategoryId());
|
63 |
}
|
64 |
|
65 |
-
// if this is a product view page
|
66 |
if (Mage::registry('product')) {
|
67 |
-
|
68 |
$categories = Mage::registry('product')->getCategoryCollection()
|
69 |
->setPage(1, 1)
|
70 |
->load();
|
71 |
-
// if the product is associated with any category
|
72 |
if ($categories->count()) {
|
73 |
-
|
74 |
-
$this->setCategoryId(current($categories->getIterator()));
|
75 |
}
|
76 |
}
|
77 |
|
62 |
$this->setCategoryId(Mage::app()->getStore()->getRootCategoryId());
|
63 |
}
|
64 |
|
|
|
65 |
if (Mage::registry('product')) {
|
66 |
+
/** @var Mage_Catalog_Model_Resource_Category_Collection $categories */
|
67 |
$categories = Mage::registry('product')->getCategoryCollection()
|
68 |
->setPage(1, 1)
|
69 |
->load();
|
|
|
70 |
if ($categories->count()) {
|
71 |
+
$this->setCategoryId($categories->getFirstItem()->getId());
|
|
|
72 |
}
|
73 |
}
|
74 |
|
app/code/core/Mage/Catalog/Block/Product/View.php
CHANGED
@@ -141,62 +141,14 @@ class Mage_Catalog_Block_Product_View extends Mage_Catalog_Block_Product_Abstrac
|
|
141 |
return Mage::helper('core')->jsonEncode($config);
|
142 |
}
|
143 |
|
144 |
-
$_request = Mage::getSingleton('tax/calculation')->getDefaultRateRequest();
|
145 |
/* @var $product Mage_Catalog_Model_Product */
|
146 |
$product = $this->getProduct();
|
147 |
-
$_request->setProductClassId($product->getTaxClassId());
|
148 |
-
$defaultTax = Mage::getSingleton('tax/calculation')->getRate($_request);
|
149 |
|
150 |
-
$
|
151 |
-
$
|
152 |
-
$
|
153 |
-
|
154 |
-
|
155 |
-
$_finalPrice = $product->getFinalPrice();
|
156 |
-
if ($product->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE) {
|
157 |
-
$_priceInclTax = Mage::helper('tax')->getPrice($product, $_finalPrice, true,
|
158 |
-
null, null, null, null, null, false);
|
159 |
-
$_priceExclTax = Mage::helper('tax')->getPrice($product, $_finalPrice, false,
|
160 |
-
null, null, null, null, null, false);
|
161 |
-
} else {
|
162 |
-
$_priceInclTax = Mage::helper('tax')->getPrice($product, $_finalPrice, true);
|
163 |
-
$_priceExclTax = Mage::helper('tax')->getPrice($product, $_finalPrice);
|
164 |
-
}
|
165 |
-
$_tierPrices = array();
|
166 |
-
$_tierPricesInclTax = array();
|
167 |
-
foreach ($product->getTierPrice() as $tierPrice) {
|
168 |
-
$_tierPrices[] = Mage::helper('core')->currency(
|
169 |
-
Mage::helper('tax')->getPrice($product, (float)$tierPrice['website_price'], false) - $_priceExclTax
|
170 |
-
, false, false);
|
171 |
-
$_tierPricesInclTax[] = Mage::helper('core')->currency(
|
172 |
-
Mage::helper('tax')->getPrice($product, (float)$tierPrice['website_price'], true) - $_priceInclTax
|
173 |
-
, false, false);
|
174 |
-
}
|
175 |
-
$config = array(
|
176 |
-
'productId' => $product->getId(),
|
177 |
-
'priceFormat' => Mage::app()->getLocale()->getJsPriceFormat(),
|
178 |
-
'includeTax' => Mage::helper('tax')->priceIncludesTax() ? 'true' : 'false',
|
179 |
-
'showIncludeTax' => Mage::helper('tax')->displayPriceIncludingTax(),
|
180 |
-
'showBothPrices' => Mage::helper('tax')->displayBothPrices(),
|
181 |
-
'productPrice' => Mage::helper('core')->currency($_finalPrice, false, false),
|
182 |
-
'productOldPrice' => Mage::helper('core')->currency($_regularPrice, false, false),
|
183 |
-
'priceInclTax' => Mage::helper('core')->currency($_priceInclTax, false, false),
|
184 |
-
'priceExclTax' => Mage::helper('core')->currency($_priceExclTax, false, false),
|
185 |
-
/**
|
186 |
-
* @var skipCalculate
|
187 |
-
* @deprecated after 1.5.1.0
|
188 |
-
*/
|
189 |
-
'skipCalculate' => ($_priceExclTax != $_priceInclTax ? 0 : 1),
|
190 |
-
'defaultTax' => $defaultTax,
|
191 |
-
'currentTax' => $currentTax,
|
192 |
-
'idSuffix' => '_clone',
|
193 |
-
'oldPlusDisposition' => 0,
|
194 |
-
'plusDisposition' => 0,
|
195 |
-
'plusDispositionTax' => 0,
|
196 |
-
'oldMinusDisposition' => 0,
|
197 |
-
'minusDisposition' => 0,
|
198 |
-
'tierPrices' => $_tierPrices,
|
199 |
-
'tierPricesInclTax' => $_tierPricesInclTax,
|
200 |
);
|
201 |
|
202 |
$responseObject = new Varien_Object();
|
@@ -259,14 +211,7 @@ class Mage_Catalog_Block_Product_View extends Mage_Catalog_Block_Product_Abstrac
|
|
259 |
$product = $this->getProduct();
|
260 |
}
|
261 |
|
262 |
-
|
263 |
-
$config = $product->getPreconfiguredValues();
|
264 |
-
$configQty = $config->getQty();
|
265 |
-
if ($configQty > $qty) {
|
266 |
-
$qty = $configQty;
|
267 |
-
}
|
268 |
-
|
269 |
-
return $qty;
|
270 |
}
|
271 |
|
272 |
/**
|
141 |
return Mage::helper('core')->jsonEncode($config);
|
142 |
}
|
143 |
|
|
|
144 |
/* @var $product Mage_Catalog_Model_Product */
|
145 |
$product = $this->getProduct();
|
|
|
|
|
146 |
|
147 |
+
/** @var Mage_Catalog_Helper_Product_Type_Composite $compositeProductHelper */
|
148 |
+
$compositeProductHelper = $this->helper('catalog/product_type_composite');
|
149 |
+
$config = array_merge(
|
150 |
+
$compositeProductHelper->prepareJsonGeneralConfig(),
|
151 |
+
$compositeProductHelper->prepareJsonProductConfig($product)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
);
|
153 |
|
154 |
$responseObject = new Varien_Object();
|
211 |
$product = $this->getProduct();
|
212 |
}
|
213 |
|
214 |
+
return $this->getProductHelper()->getDefaultQty($product);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
215 |
}
|
216 |
|
217 |
/**
|
app/code/core/Mage/Catalog/Block/Product/View/Type/Configurable.php
CHANGED
@@ -48,6 +48,16 @@ class Mage_Catalog_Block_Product_View_Type_Configurable extends Mage_Catalog_Blo
|
|
48 |
*/
|
49 |
protected $_resPrices = array();
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
/**
|
52 |
* Get allowed attributes
|
53 |
*
|
@@ -91,7 +101,10 @@ class Mage_Catalog_Block_Product_View_Type_Configurable extends Mage_Catalog_Blo
|
|
91 |
$allProducts = $this->getProduct()->getTypeInstance(true)
|
92 |
->getUsedProducts(null, $this->getProduct());
|
93 |
foreach ($allProducts as $product) {
|
94 |
-
if ($product->isSaleable()
|
|
|
|
|
|
|
95 |
$products[] = $product;
|
96 |
}
|
97 |
}
|
@@ -103,11 +116,12 @@ class Mage_Catalog_Block_Product_View_Type_Configurable extends Mage_Catalog_Blo
|
|
103 |
/**
|
104 |
* retrieve current store
|
105 |
*
|
|
|
106 |
* @return Mage_Core_Model_Store
|
107 |
*/
|
108 |
public function getCurrentStore()
|
109 |
{
|
110 |
-
return
|
111 |
}
|
112 |
|
113 |
/**
|
@@ -138,10 +152,10 @@ class Mage_Catalog_Block_Product_View_Type_Configurable extends Mage_Catalog_Blo
|
|
138 |
$preconfiguredValues = $currentProduct->getPreconfiguredValues();
|
139 |
$defaultValues = array();
|
140 |
}
|
141 |
-
|
142 |
foreach ($this->getAllowProducts() as $product) {
|
143 |
$productId = $product->getId();
|
144 |
-
|
145 |
foreach ($this->getAllowAttributes() as $attribute) {
|
146 |
$productAttribute = $attribute->getProductAttribute();
|
147 |
$productAttributeId = $productAttribute->getId();
|
@@ -189,7 +203,13 @@ class Mage_Catalog_Block_Product_View_Type_Configurable extends Mage_Catalog_Blo
|
|
189 |
$configurablePrice = $currentProduct->getConfigurablePrice();
|
190 |
|
191 |
if (isset($options[$attributeId][$value['value_index']])) {
|
192 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
} else {
|
194 |
$productsIndex = array();
|
195 |
}
|
@@ -300,64 +320,51 @@ class Mage_Catalog_Block_Product_View_Type_Configurable extends Mage_Catalog_Blo
|
|
300 |
/**
|
301 |
* Calculation real price
|
302 |
*
|
|
|
303 |
* @param float $price
|
304 |
* @param bool $isPercent
|
305 |
* @return mixed
|
306 |
*/
|
307 |
protected function _preparePrice($price, $isPercent = false)
|
308 |
{
|
309 |
-
|
310 |
-
$price = $this->getProduct()->getFinalPrice() * $price / 100;
|
311 |
-
}
|
312 |
-
|
313 |
-
return $this->_registerJsPrice($this->_convertPrice($price, true));
|
314 |
}
|
315 |
|
316 |
/**
|
317 |
* Calculation price before special price
|
318 |
*
|
|
|
319 |
* @param float $price
|
320 |
* @param bool $isPercent
|
321 |
* @return mixed
|
322 |
*/
|
323 |
protected function _prepareOldPrice($price, $isPercent = false)
|
324 |
{
|
325 |
-
|
326 |
-
$price = $this->getProduct()->getPrice() * $price / 100;
|
327 |
-
}
|
328 |
-
|
329 |
-
return $this->_registerJsPrice($this->_convertPrice($price, true));
|
330 |
}
|
331 |
|
332 |
/**
|
333 |
* Replace ',' on '.' for js
|
334 |
*
|
|
|
335 |
* @param float $price
|
336 |
* @return string
|
337 |
*/
|
338 |
protected function _registerJsPrice($price)
|
339 |
{
|
340 |
-
return
|
341 |
}
|
342 |
|
343 |
/**
|
344 |
* Convert price from default currency to current currency
|
345 |
*
|
|
|
346 |
* @param float $price
|
347 |
* @param boolean $round
|
348 |
* @return float
|
349 |
*/
|
350 |
protected function _convertPrice($price, $round = false)
|
351 |
{
|
352 |
-
|
353 |
-
return 0;
|
354 |
-
}
|
355 |
-
|
356 |
-
$price = $this->getCurrentStore()->convertPrice($price);
|
357 |
-
if ($round) {
|
358 |
-
$price = $this->getCurrentStore()->roundPrice($price);
|
359 |
-
}
|
360 |
-
|
361 |
-
return $price;
|
362 |
}
|
363 |
}
|
48 |
*/
|
49 |
protected $_resPrices = array();
|
50 |
|
51 |
+
/**
|
52 |
+
* Get helper for calculation purposes
|
53 |
+
*
|
54 |
+
* @return Mage_Catalog_Helper_Product_Type_Composite
|
55 |
+
*/
|
56 |
+
protected function _getHelper()
|
57 |
+
{
|
58 |
+
return $this->helper('catalog/product_type_composite');
|
59 |
+
}
|
60 |
+
|
61 |
/**
|
62 |
* Get allowed attributes
|
63 |
*
|
101 |
$allProducts = $this->getProduct()->getTypeInstance(true)
|
102 |
->getUsedProducts(null, $this->getProduct());
|
103 |
foreach ($allProducts as $product) {
|
104 |
+
if ($product->isSaleable()
|
105 |
+
|| $skipSaleableCheck
|
106 |
+
|| (!$product->getStockItem()->getIsInStock()
|
107 |
+
&& Mage::helper('cataloginventory')->isShowOutOfStock())) {
|
108 |
$products[] = $product;
|
109 |
}
|
110 |
}
|
116 |
/**
|
117 |
* retrieve current store
|
118 |
*
|
119 |
+
* @deprecated
|
120 |
* @return Mage_Core_Model_Store
|
121 |
*/
|
122 |
public function getCurrentStore()
|
123 |
{
|
124 |
+
return $this->_getHelper()->getCurrentStore();
|
125 |
}
|
126 |
|
127 |
/**
|
152 |
$preconfiguredValues = $currentProduct->getPreconfiguredValues();
|
153 |
$defaultValues = array();
|
154 |
}
|
155 |
+
$productStock = array();
|
156 |
foreach ($this->getAllowProducts() as $product) {
|
157 |
$productId = $product->getId();
|
158 |
+
$productStock[$productId] = $product->getStockItem()->getIsInStock();
|
159 |
foreach ($this->getAllowAttributes() as $attribute) {
|
160 |
$productAttribute = $attribute->getProductAttribute();
|
161 |
$productAttributeId = $productAttribute->getId();
|
203 |
$configurablePrice = $currentProduct->getConfigurablePrice();
|
204 |
|
205 |
if (isset($options[$attributeId][$value['value_index']])) {
|
206 |
+
$productsIndexOptions = $options[$attributeId][$value['value_index']];
|
207 |
+
$productsIndex = array();
|
208 |
+
foreach ($productsIndexOptions as $productIndex) {
|
209 |
+
if ($productStock[$productIndex]) {
|
210 |
+
$productsIndex[] = $productIndex;
|
211 |
+
}
|
212 |
+
}
|
213 |
} else {
|
214 |
$productsIndex = array();
|
215 |
}
|
320 |
/**
|
321 |
* Calculation real price
|
322 |
*
|
323 |
+
* @deprecated
|
324 |
* @param float $price
|
325 |
* @param bool $isPercent
|
326 |
* @return mixed
|
327 |
*/
|
328 |
protected function _preparePrice($price, $isPercent = false)
|
329 |
{
|
330 |
+
return $this->_getHelper()->preparePrice($this->getProduct(), $price, $isPercent);
|
|
|
|
|
|
|
|
|
331 |
}
|
332 |
|
333 |
/**
|
334 |
* Calculation price before special price
|
335 |
*
|
336 |
+
* @deprecated
|
337 |
* @param float $price
|
338 |
* @param bool $isPercent
|
339 |
* @return mixed
|
340 |
*/
|
341 |
protected function _prepareOldPrice($price, $isPercent = false)
|
342 |
{
|
343 |
+
return $this->_getHelper()->prepareOldPrice($this->getProduct(), $price, $isPercent);
|
|
|
|
|
|
|
|
|
344 |
}
|
345 |
|
346 |
/**
|
347 |
* Replace ',' on '.' for js
|
348 |
*
|
349 |
+
* @deprecated
|
350 |
* @param float $price
|
351 |
* @return string
|
352 |
*/
|
353 |
protected function _registerJsPrice($price)
|
354 |
{
|
355 |
+
return $this->_getHelper()->registerJsPrice($price);
|
356 |
}
|
357 |
|
358 |
/**
|
359 |
* Convert price from default currency to current currency
|
360 |
*
|
361 |
+
* @deprecated
|
362 |
* @param float $price
|
363 |
* @param boolean $round
|
364 |
* @return float
|
365 |
*/
|
366 |
protected function _convertPrice($price, $round = false)
|
367 |
{
|
368 |
+
return $this->_getHelper()->convertPrice($price, $round);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
369 |
}
|
370 |
}
|
app/code/core/Mage/Catalog/Helper/Image.php
CHANGED
@@ -33,6 +33,7 @@ class Mage_Catalog_Helper_Image extends Mage_Core_Helper_Abstract
|
|
33 |
{
|
34 |
const XML_NODE_PRODUCT_BASE_IMAGE_WIDTH = 'catalog/product_image/base_width';
|
35 |
const XML_NODE_PRODUCT_SMALL_IMAGE_WIDTH = 'catalog/product_image/small_width';
|
|
|
36 |
|
37 |
/**
|
38 |
* Current model
|
@@ -634,10 +635,16 @@ class Mage_Catalog_Helper_Image extends Mage_Core_Helper_Abstract
|
|
634 |
* @throws Mage_Core_Exception
|
635 |
*/
|
636 |
public function validateUploadFile($filePath) {
|
637 |
-
|
|
|
|
|
638 |
Mage::throwException($this->__('Disallowed file type.'));
|
639 |
}
|
640 |
|
|
|
|
|
|
|
|
|
641 |
$_processor = new Varien_Image($filePath);
|
642 |
return $_processor->getMimeType() !== null;
|
643 |
}
|
33 |
{
|
34 |
const XML_NODE_PRODUCT_BASE_IMAGE_WIDTH = 'catalog/product_image/base_width';
|
35 |
const XML_NODE_PRODUCT_SMALL_IMAGE_WIDTH = 'catalog/product_image/small_width';
|
36 |
+
const XML_NODE_PRODUCT_MAX_DIMENSION = 'catalog/product_image/max_dimension';
|
37 |
|
38 |
/**
|
39 |
* Current model
|
635 |
* @throws Mage_Core_Exception
|
636 |
*/
|
637 |
public function validateUploadFile($filePath) {
|
638 |
+
$maxDimension = Mage::getStoreConfig(self::XML_NODE_PRODUCT_MAX_DIMENSION);
|
639 |
+
$imageInfo = getimagesize($filePath);
|
640 |
+
if (!$imageInfo) {
|
641 |
Mage::throwException($this->__('Disallowed file type.'));
|
642 |
}
|
643 |
|
644 |
+
if ($imageInfo[0] > $maxDimension || $imageInfo[1] > $maxDimension) {
|
645 |
+
Mage::throwException($this->__('Disalollowed file format.'));
|
646 |
+
}
|
647 |
+
|
648 |
$_processor = new Varien_Image($filePath);
|
649 |
return $_processor->getMimeType() !== null;
|
650 |
}
|
app/code/core/Mage/Catalog/Helper/Product.php
CHANGED
@@ -35,6 +35,8 @@ class Mage_Catalog_Helper_Product extends Mage_Core_Helper_Url
|
|
35 |
const XML_PATH_PRODUCT_URL_USE_CATEGORY = 'catalog/seo/product_use_categories';
|
36 |
const XML_PATH_USE_PRODUCT_CANONICAL_TAG = 'catalog/seo/product_canonical_tag';
|
37 |
|
|
|
|
|
38 |
/**
|
39 |
* Flag that shows if Magento has to check product to be saleable (enabled and/or inStock)
|
40 |
*
|
@@ -485,4 +487,42 @@ class Mage_Catalog_Helper_Product extends Mage_Core_Helper_Url
|
|
485 |
{
|
486 |
return $this->_skipSaleableCheck;
|
487 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
488 |
}
|
35 |
const XML_PATH_PRODUCT_URL_USE_CATEGORY = 'catalog/seo/product_use_categories';
|
36 |
const XML_PATH_USE_PRODUCT_CANONICAL_TAG = 'catalog/seo/product_canonical_tag';
|
37 |
|
38 |
+
const DEFAULT_QTY = 1;
|
39 |
+
|
40 |
/**
|
41 |
* Flag that shows if Magento has to check product to be saleable (enabled and/or inStock)
|
42 |
*
|
487 |
{
|
488 |
return $this->_skipSaleableCheck;
|
489 |
}
|
490 |
+
|
491 |
+
/**
|
492 |
+
* Gets minimal sales quantity
|
493 |
+
*
|
494 |
+
* @param Mage_Catalog_Model_Product $product
|
495 |
+
* @return int|null
|
496 |
+
*/
|
497 |
+
public function getMinimalQty($product)
|
498 |
+
{
|
499 |
+
$stockItem = $product->getStockItem();
|
500 |
+
if ($stockItem && $stockItem->getMinSaleQty()) {
|
501 |
+
return $stockItem->getMinSaleQty() * 1;
|
502 |
+
}
|
503 |
+
return null;
|
504 |
+
}
|
505 |
+
|
506 |
+
/**
|
507 |
+
* Get default qty - either as preconfigured, or as 1.
|
508 |
+
* Also restricts it by minimal qty.
|
509 |
+
*
|
510 |
+
* @param Mage_Catalog_Model_Product $product
|
511 |
+
* @return int|float
|
512 |
+
*/
|
513 |
+
public function getDefaultQty($product)
|
514 |
+
{
|
515 |
+
$qty = $this->getMinimalQty($product);
|
516 |
+
$configQty = $product->getPreconfiguredValues()->getQty();
|
517 |
+
|
518 |
+
if ($product->isConfigurable() || $configQty > $qty) {
|
519 |
+
$qty = $configQty;
|
520 |
+
}
|
521 |
+
|
522 |
+
if (is_null($qty)) {
|
523 |
+
$qty = self::DEFAULT_QTY;
|
524 |
+
}
|
525 |
+
|
526 |
+
return $qty;
|
527 |
+
}
|
528 |
}
|
app/code/core/Mage/Catalog/Helper/Product/Type/Composite.php
ADDED
@@ -0,0 +1,195 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Catalog
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Helper for preparing properties for configurable product
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Catalog
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
class Mage_Catalog_Helper_Product_Type_Composite extends Mage_Core_Helper_Abstract
|
35 |
+
{
|
36 |
+
/**
|
37 |
+
* Calculation real price
|
38 |
+
*
|
39 |
+
* @param Mage_Catalog_Model_Product $product
|
40 |
+
* @param float $price
|
41 |
+
* @param bool $isPercent
|
42 |
+
* @param null|int $storeId
|
43 |
+
* @return mixed
|
44 |
+
*/
|
45 |
+
public function preparePrice($product, $price, $isPercent = false, $storeId = null)
|
46 |
+
{
|
47 |
+
if ($isPercent && !empty($price)) {
|
48 |
+
$price = $product->getFinalPrice() * $price / 100;
|
49 |
+
}
|
50 |
+
|
51 |
+
return $this->registerJsPrice($this->convertPrice($price, true, $storeId));
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Calculation price before special price
|
56 |
+
*
|
57 |
+
* @param Mage_Catalog_Model_Product $product
|
58 |
+
* @param float $price
|
59 |
+
* @param bool $isPercent
|
60 |
+
* @param null|int $storeId
|
61 |
+
* @return mixed
|
62 |
+
*/
|
63 |
+
public function prepareOldPrice($product, $price, $isPercent = false, $storeId = null)
|
64 |
+
{
|
65 |
+
if ($isPercent && !empty($price)) {
|
66 |
+
$price = $product->getPrice() * $price / 100;
|
67 |
+
}
|
68 |
+
|
69 |
+
return $this->registerJsPrice($this->convertPrice($price, true, $storeId));
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Replace ',' on '.' for js
|
74 |
+
*
|
75 |
+
* @param float $price
|
76 |
+
* @return string
|
77 |
+
*/
|
78 |
+
public function registerJsPrice($price)
|
79 |
+
{
|
80 |
+
return str_replace(',', '.', $price);
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Convert price from default currency to current currency
|
85 |
+
*
|
86 |
+
* @param float $price
|
87 |
+
* @param boolean $round
|
88 |
+
* @param null|int $storeId
|
89 |
+
* @return float
|
90 |
+
*/
|
91 |
+
public function convertPrice($price, $round = false, $storeId = null)
|
92 |
+
{
|
93 |
+
if (empty($price)) {
|
94 |
+
return 0;
|
95 |
+
}
|
96 |
+
|
97 |
+
$price = $this->getCurrentStore($storeId)->convertPrice($price);
|
98 |
+
if ($round) {
|
99 |
+
$price = $this->getCurrentStore($storeId)->roundPrice($price);
|
100 |
+
}
|
101 |
+
|
102 |
+
return $price;
|
103 |
+
}
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Retrieve current store
|
107 |
+
*
|
108 |
+
* @param null $storeId
|
109 |
+
* @return Mage_Core_Model_Store
|
110 |
+
*/
|
111 |
+
public function getCurrentStore($storeId = null)
|
112 |
+
{
|
113 |
+
return Mage::app()->getStore($storeId);
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Prepare general params for product to be used in getJsonConfig()
|
118 |
+
* @see Mage_Catalog_Block_Product_View::getJsonConfig()
|
119 |
+
* @see Mage_ConfigurableSwatches_Block_Catalog_Product_List_Price::getJsonConfig()
|
120 |
+
*
|
121 |
+
* @return array
|
122 |
+
*/
|
123 |
+
public function prepareJsonGeneralConfig()
|
124 |
+
{
|
125 |
+
return array(
|
126 |
+
'priceFormat' => Mage::app()->getLocale()->getJsPriceFormat(),
|
127 |
+
'includeTax' => Mage::helper('tax')->priceIncludesTax() ? 'true' : 'false',
|
128 |
+
'showIncludeTax' => Mage::helper('tax')->displayPriceIncludingTax(),
|
129 |
+
'showBothPrices' => Mage::helper('tax')->displayBothPrices(),
|
130 |
+
'idSuffix' => '',
|
131 |
+
'oldPlusDisposition' => 0,
|
132 |
+
'plusDisposition' => 0,
|
133 |
+
'plusDispositionTax' => 0,
|
134 |
+
'oldMinusDisposition' => 0,
|
135 |
+
'minusDisposition' => 0,
|
136 |
+
);
|
137 |
+
}
|
138 |
+
|
139 |
+
|
140 |
+
|
141 |
+
/**
|
142 |
+
* Prepare product specific params to be used in getJsonConfig()
|
143 |
+
* @see Mage_Catalog_Block_Product_View::getJsonConfig()
|
144 |
+
* @see Mage_ConfigurableSwatches_Block_Catalog_Product_List_Price::getJsonConfig()
|
145 |
+
*
|
146 |
+
* @param Mage_Catalog_Model_Product $product
|
147 |
+
* @return array
|
148 |
+
*/
|
149 |
+
public function prepareJsonProductConfig($product)
|
150 |
+
{
|
151 |
+
$_request = Mage::getSingleton('tax/calculation')->getDefaultRateRequest();
|
152 |
+
$_request->setProductClassId($product->getTaxClassId());
|
153 |
+
$defaultTax = Mage::getSingleton('tax/calculation')->getRate($_request);
|
154 |
+
|
155 |
+
$_request = Mage::getSingleton('tax/calculation')->getRateRequest();
|
156 |
+
$_request->setProductClassId($product->getTaxClassId());
|
157 |
+
$currentTax = Mage::getSingleton('tax/calculation')->getRate($_request);
|
158 |
+
|
159 |
+
$_regularPrice = $product->getPrice();
|
160 |
+
$_finalPrice = $product->getFinalPrice();
|
161 |
+
if ($product->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE) {
|
162 |
+
$_priceInclTax = Mage::helper('tax')->getPrice($product, $_finalPrice, true,
|
163 |
+
null, null, null, null, null, false);
|
164 |
+
$_priceExclTax = Mage::helper('tax')->getPrice($product, $_finalPrice, false,
|
165 |
+
null, null, null, null, null, false);
|
166 |
+
} else {
|
167 |
+
$_priceInclTax = Mage::helper('tax')->getPrice($product, $_finalPrice, true);
|
168 |
+
$_priceExclTax = Mage::helper('tax')->getPrice($product, $_finalPrice);
|
169 |
+
}
|
170 |
+
$_tierPrices = array();
|
171 |
+
$_tierPricesInclTax = array();
|
172 |
+
foreach ($product->getTierPrice() as $tierPrice) {
|
173 |
+
$_tierPrices[] = Mage::helper('core')->currency(
|
174 |
+
Mage::helper('tax')->getPrice($product, (float)$tierPrice['website_price'], false) - $_priceExclTax
|
175 |
+
, false, false);
|
176 |
+
$_tierPricesInclTax[] = Mage::helper('core')->currency(
|
177 |
+
Mage::helper('tax')->getPrice($product, (float)$tierPrice['website_price'], true) - $_priceInclTax
|
178 |
+
, false, false);
|
179 |
+
}
|
180 |
+
|
181 |
+
return array(
|
182 |
+
'productId' => $product->getId(),
|
183 |
+
'productPrice' => Mage::helper('core')->currency($_finalPrice, false, false),
|
184 |
+
'productOldPrice' => Mage::helper('core')->currency($_regularPrice, false, false),
|
185 |
+
'priceInclTax' => Mage::helper('core')->currency($_priceInclTax, false, false),
|
186 |
+
'priceExclTax' => Mage::helper('core')->currency($_priceExclTax, false, false),
|
187 |
+
'skipCalculate' => ($_priceExclTax != $_priceInclTax ? 0 : 1),
|
188 |
+
'defaultTax' => $defaultTax,
|
189 |
+
'currentTax' => $currentTax,
|
190 |
+
'tierPrices' => $_tierPrices,
|
191 |
+
'tierPricesInclTax' => $_tierPricesInclTax,
|
192 |
+
'swatchPrices' => $product->getSwatchPrices(),
|
193 |
+
);
|
194 |
+
}
|
195 |
+
}
|
app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Groupprice/Abstract.php
CHANGED
@@ -227,6 +227,7 @@ abstract class Mage_Catalog_Model_Product_Attribute_Backend_Groupprice_Abstract
|
|
227 |
$data = $this->_getResource()->loadPriceData($object->getId(), $websiteId);
|
228 |
foreach ($data as $k => $v) {
|
229 |
$data[$k]['website_price'] = $v['price'];
|
|
|
230 |
if ($v['all_groups']) {
|
231 |
$data[$k]['cust_group'] = Mage_Customer_Model_Group::CUST_GROUP_ALL;
|
232 |
}
|
@@ -318,6 +319,7 @@ abstract class Mage_Catalog_Model_Product_Attribute_Backend_Groupprice_Abstract
|
|
318 |
'all_groups' => $useForAllGroups ? 1 : 0,
|
319 |
'customer_group_id' => $customerGroupId,
|
320 |
'value' => $data['price'],
|
|
|
321 |
), $this->_getAdditionalUniqueFields($data));
|
322 |
}
|
323 |
|
@@ -347,10 +349,11 @@ abstract class Mage_Catalog_Model_Product_Attribute_Backend_Groupprice_Abstract
|
|
347 |
|
348 |
if (!empty($update)) {
|
349 |
foreach ($update as $k => $v) {
|
350 |
-
if ($old[$k]['price'] != $v['value']) {
|
351 |
$price = new Varien_Object(array(
|
352 |
-
'value_id'
|
353 |
-
'value'
|
|
|
354 |
));
|
355 |
$this->_getResource()->savePriceData($price);
|
356 |
|
227 |
$data = $this->_getResource()->loadPriceData($object->getId(), $websiteId);
|
228 |
foreach ($data as $k => $v) {
|
229 |
$data[$k]['website_price'] = $v['price'];
|
230 |
+
$data[$k]['is_percent'] = isset($v['is_percent']) ? isset($v['is_percent']) : 0;
|
231 |
if ($v['all_groups']) {
|
232 |
$data[$k]['cust_group'] = Mage_Customer_Model_Group::CUST_GROUP_ALL;
|
233 |
}
|
319 |
'all_groups' => $useForAllGroups ? 1 : 0,
|
320 |
'customer_group_id' => $customerGroupId,
|
321 |
'value' => $data['price'],
|
322 |
+
'is_percent' => isset($data['is_percent']) ? $data['is_percent'] : 0,
|
323 |
), $this->_getAdditionalUniqueFields($data));
|
324 |
}
|
325 |
|
349 |
|
350 |
if (!empty($update)) {
|
351 |
foreach ($update as $k => $v) {
|
352 |
+
if ($old[$k]['price'] != $v['value'] || $old[$k]['is_percent'] != $v['is_percent']) {
|
353 |
$price = new Varien_Object(array(
|
354 |
+
'value_id' => $old[$k]['price_id'],
|
355 |
+
'value' => $v['value'],
|
356 |
+
'is_percent' => $v['is_percent']
|
357 |
));
|
358 |
$this->_getResource()->savePriceData($price);
|
359 |
|
app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Media.php
CHANGED
@@ -643,8 +643,11 @@ class Mage_Catalog_Model_Product_Attribute_Backend_Media extends Mage_Eav_Model_
|
|
643 |
|
644 |
} catch (Exception $e) {
|
645 |
$file = $this->_getConfig()->getMediaPath($file);
|
|
|
646 |
Mage::throwException(
|
647 |
-
Mage::helper('catalog')->__(
|
|
|
|
|
648 |
);
|
649 |
}
|
650 |
|
643 |
|
644 |
} catch (Exception $e) {
|
645 |
$file = $this->_getConfig()->getMediaPath($file);
|
646 |
+
$io = new Varien_Io_File();
|
647 |
Mage::throwException(
|
648 |
+
Mage::helper('catalog')->__(
|
649 |
+
'Failed to copy file %s. Please, delete media with non-existing images and try again.',
|
650 |
+
$io->getFilteredPath($file))
|
651 |
);
|
652 |
}
|
653 |
|
app/code/core/Mage/Catalog/Model/Product/Link/Api/V2.php
CHANGED
@@ -61,8 +61,8 @@ class Mage_Catalog_Model_Product_Link_Api_V2 extends Mage_Catalog_Model_Product_
|
|
61 |
|
62 |
$links[(int)$linkedProductId] = array();
|
63 |
foreach ($collection->getLinkModel()->getAttributes() as $attribute) {
|
64 |
-
if (isset($data
|
65 |
-
$links[(int)$linkedProductId][$attribute['code']] = $data
|
66 |
}
|
67 |
}
|
68 |
|
@@ -118,8 +118,8 @@ class Mage_Catalog_Model_Product_Link_Api_V2 extends Mage_Catalog_Model_Product_
|
|
118 |
}
|
119 |
|
120 |
foreach ($collection->getLinkModel()->getAttributes() as $attribute) {
|
121 |
-
if (isset($data
|
122 |
-
$links[(int)$linkedProductId][$attribute['code']] = $data
|
123 |
}
|
124 |
}
|
125 |
|
61 |
|
62 |
$links[(int)$linkedProductId] = array();
|
63 |
foreach ($collection->getLinkModel()->getAttributes() as $attribute) {
|
64 |
+
if (isset($data->{$attribute['code']})) {
|
65 |
+
$links[(int)$linkedProductId][$attribute['code']] = $data->{$attribute['code']};
|
66 |
}
|
67 |
}
|
68 |
|
118 |
}
|
119 |
|
120 |
foreach ($collection->getLinkModel()->getAttributes() as $attribute) {
|
121 |
+
if (isset($data->{$attribute['code']})) {
|
122 |
+
$links[(int)$linkedProductId][$attribute['code']] = $data->{$attribute['code']};
|
123 |
}
|
124 |
}
|
125 |
|
app/code/core/Mage/Catalog/Model/Resource/Eav/Attribute.php
CHANGED
@@ -359,7 +359,7 @@ class Mage_Catalog_Model_Resource_Eav_Attribute extends Mage_Eav_Model_Entity_At
|
|
359 |
|
360 |
if ($backendType == 'int' && $frontendInput == 'select') {
|
361 |
return true;
|
362 |
-
} else if ($backendType == 'varchar' && $frontendInput == 'multiselect') {
|
363 |
return true;
|
364 |
} else if ($backendType == 'decimal') {
|
365 |
return true;
|
359 |
|
360 |
if ($backendType == 'int' && $frontendInput == 'select') {
|
361 |
return true;
|
362 |
+
} else if (($backendType == 'varchar' || $backendType == 'text') && $frontendInput == 'multiselect') {
|
363 |
return true;
|
364 |
} else if ($backendType == 'decimal') {
|
365 |
return true;
|
app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Groupprice.php
CHANGED
@@ -43,4 +43,17 @@ class Mage_Catalog_Model_Resource_Product_Attribute_Backend_Groupprice
|
|
43 |
{
|
44 |
$this->_init('catalog/product_attribute_group_price', 'value_id');
|
45 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
43 |
{
|
44 |
$this->_init('catalog/product_attribute_group_price', 'value_id');
|
45 |
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Add is_percent column
|
49 |
+
*
|
50 |
+
* @param array $columns
|
51 |
+
* @return array
|
52 |
+
*/
|
53 |
+
protected function _loadPriceDataColumns($columns)
|
54 |
+
{
|
55 |
+
$columns = parent::_loadPriceDataColumns($columns);
|
56 |
+
$columns['is_percent'] = 'is_percent';
|
57 |
+
return $columns;
|
58 |
+
}
|
59 |
}
|
app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Eav/Source.php
CHANGED
@@ -61,7 +61,7 @@ class Mage_Catalog_Model_Resource_Product_Indexer_Eav_Source
|
|
61 |
->where($this->_getIndexableAttributesCondition());
|
62 |
|
63 |
if ($multiSelect == true) {
|
64 |
-
$select->where('ea.backend_type = ?', '
|
65 |
->where('ea.frontend_input = ?', 'multiselect');
|
66 |
} else {
|
67 |
$select->where('ea.backend_type = ?', 'int')
|
@@ -203,14 +203,14 @@ class Mage_Catalog_Model_Resource_Product_Indexer_Eav_Source
|
|
203 |
$productValueExpression = $adapter->getCheckSql('pvs.value_id > 0', 'pvs.value', 'pvd.value');
|
204 |
$select = $adapter->select()
|
205 |
->from(
|
206 |
-
array('pvd' => $this->getValueTable('catalog/product', '
|
207 |
array('entity_id', 'attribute_id'))
|
208 |
->join(
|
209 |
array('cs' => $this->getTable('core/store')),
|
210 |
'',
|
211 |
array('store_id'))
|
212 |
->joinLeft(
|
213 |
-
array('pvs' => $this->getValueTable('catalog/product', '
|
214 |
'pvs.entity_id = pvd.entity_id AND pvs.attribute_id = pvd.attribute_id'
|
215 |
. ' AND pvs.store_id=cs.store_id',
|
216 |
array('value' => $productValueExpression))
|
61 |
->where($this->_getIndexableAttributesCondition());
|
62 |
|
63 |
if ($multiSelect == true) {
|
64 |
+
$select->where('ea.backend_type = ?', 'text')
|
65 |
->where('ea.frontend_input = ?', 'multiselect');
|
66 |
} else {
|
67 |
$select->where('ea.backend_type = ?', 'int')
|
203 |
$productValueExpression = $adapter->getCheckSql('pvs.value_id > 0', 'pvs.value', 'pvd.value');
|
204 |
$select = $adapter->select()
|
205 |
->from(
|
206 |
+
array('pvd' => $this->getValueTable('catalog/product', 'text')),
|
207 |
array('entity_id', 'attribute_id'))
|
208 |
->join(
|
209 |
array('cs' => $this->getTable('core/store')),
|
210 |
'',
|
211 |
array('store_id'))
|
212 |
->joinLeft(
|
213 |
+
array('pvs' => $this->getValueTable('catalog/product', 'text')),
|
214 |
'pvs.entity_id = pvd.entity_id AND pvs.attribute_id = pvd.attribute_id'
|
215 |
. ' AND pvs.store_id=cs.store_id',
|
216 |
array('value' => $productValueExpression))
|
app/code/core/Mage/Catalog/Model/Resource/Product/Link/Product/Collection.php
CHANGED
@@ -282,6 +282,19 @@ class Mage_Catalog_Model_Resource_Product_Link_Product_Collection extends Mage_C
|
|
282 |
return $this;
|
283 |
}
|
284 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
285 |
/**
|
286 |
* Join attributes
|
287 |
*
|
@@ -294,10 +307,9 @@ class Mage_Catalog_Model_Resource_Product_Link_Product_Collection extends Mage_C
|
|
294 |
}
|
295 |
$attributes = $this->getLinkModel()->getAttributes();
|
296 |
|
297 |
-
$attributesByType = array();
|
298 |
foreach ($attributes as $attribute) {
|
299 |
$table = $this->getLinkModel()->getAttributeTypeTable($attribute['type']);
|
300 |
-
$alias =
|
301 |
|
302 |
$joinCondiotion = array(
|
303 |
"{$alias}.link_id = links.link_id",
|
@@ -331,4 +343,38 @@ class Mage_Catalog_Model_Resource_Product_Link_Product_Collection extends Mage_C
|
|
331 |
}
|
332 |
return parent::setOrder($attribute, $dir);
|
333 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
}
|
282 |
return $this;
|
283 |
}
|
284 |
|
285 |
+
/**
|
286 |
+
* Get table alias for link model attribute
|
287 |
+
*
|
288 |
+
* @param string $attributeCode
|
289 |
+
* @param string $attributeType
|
290 |
+
*
|
291 |
+
* @return string
|
292 |
+
*/
|
293 |
+
protected function _getLinkAttributeTableAlias($attributeCode, $attributeType)
|
294 |
+
{
|
295 |
+
return sprintf('link_attribute_%s_%s', $attributeCode, $attributeType);
|
296 |
+
}
|
297 |
+
|
298 |
/**
|
299 |
* Join attributes
|
300 |
*
|
307 |
}
|
308 |
$attributes = $this->getLinkModel()->getAttributes();
|
309 |
|
|
|
310 |
foreach ($attributes as $attribute) {
|
311 |
$table = $this->getLinkModel()->getAttributeTypeTable($attribute['type']);
|
312 |
+
$alias = $this->_getLinkAttributeTableAlias($attribute['code'], $attribute['type']);
|
313 |
|
314 |
$joinCondiotion = array(
|
315 |
"{$alias}.link_id = links.link_id",
|
343 |
}
|
344 |
return parent::setOrder($attribute, $dir);
|
345 |
}
|
346 |
+
|
347 |
+
/**
|
348 |
+
* Add specific link model attribute to collection filter
|
349 |
+
*
|
350 |
+
* @param string $attributeCode
|
351 |
+
* @param array|null $condition
|
352 |
+
*
|
353 |
+
* @return Mage_Catalog_Model_Resource_Product_Link_Product_Collection
|
354 |
+
*/
|
355 |
+
public function addLinkModelFieldToFilter($attributeCode, $condition = null)
|
356 |
+
{
|
357 |
+
if (!$this->getProduct() || !$this->getProduct()->getId()) {
|
358 |
+
return $this;
|
359 |
+
}
|
360 |
+
|
361 |
+
$attribute = null;
|
362 |
+
foreach ($this->getLinkModel()->getAttributes() as $attributeData) {
|
363 |
+
if ($attributeData['code'] == $attributeCode) {
|
364 |
+
$attribute = $attributeData;
|
365 |
+
break;
|
366 |
+
}
|
367 |
+
}
|
368 |
+
|
369 |
+
if (!$attribute) {
|
370 |
+
return $this;
|
371 |
+
}
|
372 |
+
|
373 |
+
$this->_hasLinkFilter = true;
|
374 |
+
|
375 |
+
$field = $this->_getLinkAttributeTableAlias($attribute['code'], $attribute['type']) . '.value';
|
376 |
+
$this->getSelect()->where($this->_getConditionSql($field, $condition));
|
377 |
+
|
378 |
+
return $this;
|
379 |
+
}
|
380 |
}
|
app/code/core/Mage/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php
CHANGED
@@ -241,7 +241,7 @@ class Mage_Catalog_Model_Resource_Product_Type_Configurable_Attribute_Collection
|
|
241 |
}
|
242 |
|
243 |
$values = array();
|
244 |
-
|
245 |
foreach ($this->_items as $item) {
|
246 |
$productAttribute = $item->getProductAttribute();
|
247 |
if (!($productAttribute instanceof Mage_Eav_Model_Entity_Attribute_Abstract)) {
|
@@ -251,7 +251,7 @@ class Mage_Catalog_Model_Resource_Product_Type_Configurable_Attribute_Collection
|
|
251 |
|
252 |
$optionsByValue = array();
|
253 |
foreach ($options as $option) {
|
254 |
-
$optionsByValue[$option['value']] = $option['label'];
|
255 |
}
|
256 |
|
257 |
foreach ($this->getProduct()->getTypeInstance(true)
|
@@ -267,18 +267,23 @@ class Mage_Catalog_Model_Resource_Product_Type_Configurable_Attribute_Collection
|
|
267 |
$values[$item->getId() . ':' . $optionValue] = array(
|
268 |
'product_super_attribute_id' => $item->getId(),
|
269 |
'value_index' => $optionValue,
|
270 |
-
'label' => $optionsByValue[$optionValue],
|
271 |
-
'default_label' => $optionsByValue[$optionValue],
|
272 |
-
'store_label' => $optionsByValue[$optionValue],
|
273 |
'is_percent' => 0,
|
274 |
'pricing_value' => null,
|
275 |
-
'use_default_value' => true
|
|
|
276 |
);
|
277 |
}
|
278 |
}
|
279 |
}
|
280 |
}
|
281 |
|
|
|
|
|
|
|
|
|
282 |
foreach ($pricings[0] as $pricing) {
|
283 |
// Addding pricing to options
|
284 |
$valueKey = $pricing['product_super_attribute_id'] . ':' . $pricing['value_index'];
|
241 |
}
|
242 |
|
243 |
$values = array();
|
244 |
+
$sortOrder = 1;
|
245 |
foreach ($this->_items as $item) {
|
246 |
$productAttribute = $item->getProductAttribute();
|
247 |
if (!($productAttribute instanceof Mage_Eav_Model_Entity_Attribute_Abstract)) {
|
251 |
|
252 |
$optionsByValue = array();
|
253 |
foreach ($options as $option) {
|
254 |
+
$optionsByValue[$option['value']] = array('label' => $option['label'], 'order' => $sortOrder++);
|
255 |
}
|
256 |
|
257 |
foreach ($this->getProduct()->getTypeInstance(true)
|
267 |
$values[$item->getId() . ':' . $optionValue] = array(
|
268 |
'product_super_attribute_id' => $item->getId(),
|
269 |
'value_index' => $optionValue,
|
270 |
+
'label' => $optionsByValue[$optionValue]['label'],
|
271 |
+
'default_label' => $optionsByValue[$optionValue]['label'],
|
272 |
+
'store_label' => $optionsByValue[$optionValue]['label'],
|
273 |
'is_percent' => 0,
|
274 |
'pricing_value' => null,
|
275 |
+
'use_default_value' => true,
|
276 |
+
'order' => $optionsByValue[$optionValue]['order']
|
277 |
);
|
278 |
}
|
279 |
}
|
280 |
}
|
281 |
}
|
282 |
|
283 |
+
uasort($values, function($a, $b) {
|
284 |
+
return $a['order'] - $b['order'];
|
285 |
+
});
|
286 |
+
|
287 |
foreach ($pricings[0] as $pricing) {
|
288 |
// Addding pricing to options
|
289 |
$valueKey = $pricing['product_super_attribute_id'] . ':' . $pricing['value_index'];
|
app/code/core/Mage/Catalog/data/catalog_setup/data-upgrade-1.6.0.0.19.1.3-1.6.0.0.19.1.4.php
ADDED
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Catalog
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
/** @var $installer Mage_Catalog_Model_Resource_Setup */
|
27 |
+
|
28 |
+
$installer = $this;
|
29 |
+
$installer->startSetup();
|
30 |
+
$connection = $installer->getConnection();
|
31 |
+
|
32 |
+
$catalogProductEntityTypeId = Mage::getSingleton('eav/config')->getEntityType('catalog_product')->getEntityTypeId();
|
33 |
+
|
34 |
+
$attributes = Mage::getResourceModel('eav/entity_attribute_collection')
|
35 |
+
->addFieldToFilter('frontend_input', 'multiselect')
|
36 |
+
->addFieldToFilter('entity_type_id', $catalogProductEntityTypeId)
|
37 |
+
->getItems();
|
38 |
+
|
39 |
+
foreach ($attributes as $attribute) {
|
40 |
+
$entityTypeId = $attribute->getEntityTypeId();
|
41 |
+
$attributeId = $attribute->getId();
|
42 |
+
$attributeTableOld = $installer->getAttributeTable($entityTypeId, $attributeId);
|
43 |
+
|
44 |
+
$installer->updateAttribute($entityTypeId, $attributeId, 'backend_type', 'text');
|
45 |
+
|
46 |
+
$attributeTableNew = $installer->getAttributeTable($entityTypeId, $attributeId);
|
47 |
+
|
48 |
+
if ($attributeTableOld != $attributeTableNew) {
|
49 |
+
$connection->disableTableKeys($attributeTableOld)
|
50 |
+
->disableTableKeys($attributeTableNew);
|
51 |
+
|
52 |
+
$select = $connection->select()
|
53 |
+
->from($attributeTableOld, array('entity_type_id', 'attribute_id', 'store_id', 'entity_id', 'value'))
|
54 |
+
->where('entity_type_id = ?', $entityTypeId)
|
55 |
+
->where('attribute_id = ?', $attributeId);
|
56 |
+
|
57 |
+
$query = $select->insertFromSelect($attributeTableNew,
|
58 |
+
array('entity_type_id', 'attribute_id', 'store_id', 'entity_id', 'value')
|
59 |
+
);
|
60 |
+
|
61 |
+
$connection->query($query);
|
62 |
+
|
63 |
+
$connection->delete($attributeTableOld,
|
64 |
+
$connection->quoteInto('entity_type_id = ?', $entityTypeId)
|
65 |
+
. $connection->quoteInto(' AND attribute_id = ?', $attributeId)
|
66 |
+
);
|
67 |
+
|
68 |
+
$connection->enableTableKeys($attributeTableOld)
|
69 |
+
->enableTableKeys($attributeTableNew);
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
+
Mage::getModel('index/indexer')
|
74 |
+
->getProcessByCode(Mage_Catalog_Helper_Product_Flat::CATALOG_FLAT_PROCESS_CODE)
|
75 |
+
->changeStatus(Mage_Index_Model_Process::STATUS_REQUIRE_REINDEX);
|
76 |
+
|
77 |
+
$installer->endSetup();
|
app/code/core/Mage/Catalog/etc/config.xml
CHANGED
@@ -28,7 +28,7 @@
|
|
28 |
<config>
|
29 |
<modules>
|
30 |
<Mage_Catalog>
|
31 |
-
<version>1.6.0.0.19.1.
|
32 |
</Mage_Catalog>
|
33 |
</modules>
|
34 |
<admin>
|
@@ -807,6 +807,7 @@
|
|
807 |
<product_image>
|
808 |
<base_width>1800</base_width>
|
809 |
<small_width>210</small_width>
|
|
|
810 |
</product_image>
|
811 |
<seo>
|
812 |
<product_url_suffix>.html</product_url_suffix>
|
28 |
<config>
|
29 |
<modules>
|
30 |
<Mage_Catalog>
|
31 |
+
<version>1.6.0.0.19.1.5</version>
|
32 |
</Mage_Catalog>
|
33 |
</modules>
|
34 |
<admin>
|
807 |
<product_image>
|
808 |
<base_width>1800</base_width>
|
809 |
<small_width>210</small_width>
|
810 |
+
<max_dimension>5000</max_dimension>
|
811 |
</product_image>
|
812 |
<seo>
|
813 |
<product_url_suffix>.html</product_url_suffix>
|
app/code/core/Mage/Catalog/etc/system.xml
CHANGED
@@ -211,6 +211,15 @@
|
|
211 |
<show_in_website>1</show_in_website>
|
212 |
<show_in_store>1</show_in_store>
|
213 |
</small_width>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
</fields>
|
215 |
</product_image>
|
216 |
<placeholder translate="label">
|
211 |
<show_in_website>1</show_in_website>
|
212 |
<show_in_store>1</show_in_store>
|
213 |
</small_width>
|
214 |
+
<max_dimension translate="label comment">
|
215 |
+
<label>Maximum resolution for upload image</label>
|
216 |
+
<comment>Maximum width and height resolutions for upload image</comment>
|
217 |
+
<frontend_type>text</frontend_type>
|
218 |
+
<sort_order>30</sort_order>
|
219 |
+
<show_in_default>1</show_in_default>
|
220 |
+
<show_in_website>1</show_in_website>
|
221 |
+
<show_in_store>1</show_in_store>
|
222 |
+
</max_dimension>
|
223 |
</fields>
|
224 |
</product_image>
|
225 |
<placeholder translate="label">
|
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.19.1.2-1.6.0.0.19.1.3.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Catalog
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
$installer = $this;
|
28 |
+
/** @var $installer Mage_Catalog_Model_Resource_Setup */
|
29 |
+
|
30 |
+
$attribute = 'special_price';
|
31 |
+
$installer
|
32 |
+
->updateAttribute(
|
33 |
+
Mage_Catalog_Model_Product::ENTITY,
|
34 |
+
'special_price',
|
35 |
+
'note',
|
36 |
+
NULL
|
37 |
+
)
|
38 |
+
->updateAttribute(
|
39 |
+
Mage_Catalog_Model_Product::ENTITY,
|
40 |
+
'special_price',
|
41 |
+
'frontend_class',
|
42 |
+
'validate-special-price'
|
43 |
+
)
|
44 |
+
;
|
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.19.1.4-1.6.0.0.19.1.5.php
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Catalog
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/** @var $installer Mage_Catalog_Model_Resource_Setup */
|
28 |
+
$installer = $this;
|
29 |
+
$connection = $installer->getConnection();
|
30 |
+
|
31 |
+
$connection->addColumn($installer->getTable('catalog/product_attribute_group_price'), 'is_percent', array(
|
32 |
+
'type' => Varien_Db_Ddl_Table::TYPE_SMALLINT,
|
33 |
+
'unsigned' => true,
|
34 |
+
'nullable' => false,
|
35 |
+
'default' => '0',
|
36 |
+
'comment' => 'Is Percent',
|
37 |
+
));
|
app/code/core/Mage/CatalogInventory/Model/Observer.php
CHANGED
@@ -384,6 +384,7 @@ class Mage_CatalogInventory_Model_Observer
|
|
384 |
$stockItem = $option->getProduct()->getStockItem();
|
385 |
|
386 |
if ($quoteItem->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE) {
|
|
|
387 |
$stockItem->setProductName($quoteItem->getName());
|
388 |
}
|
389 |
|
384 |
$stockItem = $option->getProduct()->getStockItem();
|
385 |
|
386 |
if ($quoteItem->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE) {
|
387 |
+
$stockItem->setParentItem($quoteItem);
|
388 |
$stockItem->setProductName($quoteItem->getName());
|
389 |
}
|
390 |
|
app/code/core/Mage/CatalogInventory/Model/Stock/Item.php
CHANGED
@@ -525,6 +525,27 @@ class Mage_CatalogInventory_Model_Stock_Item extends Mage_Core_Model_Abstract
|
|
525 |
$qty = Mage::app()->getLocale()->getNumber($qty);
|
526 |
}
|
527 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
528 |
/**
|
529 |
* Check quantity type
|
530 |
*/
|
525 |
$qty = Mage::app()->getLocale()->getNumber($qty);
|
526 |
}
|
527 |
|
528 |
+
/**
|
529 |
+
* Check if child product assigned to parent
|
530 |
+
*/
|
531 |
+
$parentItem = $this->getParentItem();
|
532 |
+
if ($this->getIsChildItem() && !empty($parentItem)) {
|
533 |
+
$typeInstance = $parentItem->getProduct()->getTypeInstance(true);
|
534 |
+
$requiredChildrenIds = $typeInstance->getChildrenIds($parentItem->getProductId(), true);
|
535 |
+
$childrenIds = array();
|
536 |
+
foreach ($requiredChildrenIds as $groupedChildrenIds) {
|
537 |
+
$childrenIds = array_merge($childrenIds, $groupedChildrenIds);
|
538 |
+
}
|
539 |
+
if (!in_array($this->getProductId(), $childrenIds)) {
|
540 |
+
$result->setHasError(true)
|
541 |
+
->setMessage(Mage::helper('cataloginventory')
|
542 |
+
->__('This product with current option is not available'))
|
543 |
+
->setQuoteMessage(Mage::helper('cataloginventory')->__('Some of the products are not available'))
|
544 |
+
->setQuoteMessageIndex('stock');
|
545 |
+
return $result;
|
546 |
+
}
|
547 |
+
}
|
548 |
+
|
549 |
/**
|
550 |
* Check quantity type
|
551 |
*/
|
app/code/core/Mage/CatalogRule/Model/Action/Index/Refresh.php
CHANGED
@@ -319,8 +319,16 @@ class Mage_CatalogRule_Model_Action_Index_Refresh
|
|
319 |
);
|
320 |
$priceColumn = $this->_connection->getIfNullSql(
|
321 |
$this->_connection->getIfNullSql(
|
322 |
-
|
323 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
324 |
),
|
325 |
'p.price'
|
326 |
);
|
@@ -343,8 +351,22 @@ class Mage_CatalogRule_Model_Action_Index_Refresh
|
|
343 |
);
|
344 |
$priceColumn = $this->_connection->getIfNullSql(
|
345 |
$this->_connection->getIfNullSql(
|
346 |
-
|
347 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
348 |
),
|
349 |
$this->_connection->getIfNullSql(
|
350 |
'p.value',
|
319 |
);
|
320 |
$priceColumn = $this->_connection->getIfNullSql(
|
321 |
$this->_connection->getIfNullSql(
|
322 |
+
$this->_connection->getCheckSql(
|
323 |
+
'pg.is_percent = 1',
|
324 |
+
'p.price * (100 - pg.value)/100',
|
325 |
+
'pg.value'
|
326 |
+
),
|
327 |
+
$this->_connection->getCheckSql(
|
328 |
+
'pgd.is_percent = 1',
|
329 |
+
'p.price * (100 - pgd.value)/100',
|
330 |
+
'pgd.value'
|
331 |
+
)
|
332 |
),
|
333 |
'p.price'
|
334 |
);
|
351 |
);
|
352 |
$priceColumn = $this->_connection->getIfNullSql(
|
353 |
$this->_connection->getIfNullSql(
|
354 |
+
$this->_connection->getCheckSql(
|
355 |
+
'pg.is_percent = 1',
|
356 |
+
$this->_connection->getIfNullSql(
|
357 |
+
'p.value',
|
358 |
+
'pd.value'
|
359 |
+
) . ' * (100 - pg.value)/100',
|
360 |
+
'pg.value'
|
361 |
+
),
|
362 |
+
$this->_connection->getCheckSql(
|
363 |
+
'pgd.is_percent = 1',
|
364 |
+
$this->_connection->getIfNullSql(
|
365 |
+
'p.value',
|
366 |
+
'pd.value'
|
367 |
+
) . ' * (100 - pgd.value)/100',
|
368 |
+
'pgd.value'
|
369 |
+
)
|
370 |
),
|
371 |
$this->_connection->getIfNullSql(
|
372 |
'p.value',
|
app/code/core/Mage/CatalogSearch/Model/Resource/Advanced.php
CHANGED
@@ -84,7 +84,7 @@ class Mage_CatalogSearch_Model_Resource_Advanced extends Mage_Core_Model_Resourc
|
|
84 |
if (is_array($value)) {
|
85 |
if (!empty($value['from']) || !empty($value['to'])) { // range
|
86 |
$condition = $value;
|
87 |
-
} else if ($attribute->getBackendType()
|
88 |
$condition = array('in_set' => $value);
|
89 |
} else if (!isset($value['from']) && !isset($value['to'])) { // select
|
90 |
$condition = array('in' => $value);
|
84 |
if (is_array($value)) {
|
85 |
if (!empty($value['from']) || !empty($value['to'])) { // range
|
86 |
$condition = $value;
|
87 |
+
} else if (in_array($attribute->getBackendType(), array('varchar', 'text'))) { // multiselect
|
88 |
$condition = array('in_set' => $value);
|
89 |
} else if (!isset($value['from']) && !isset($value['to'])) { // select
|
90 |
$condition = array('in' => $value);
|
app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext.php
CHANGED
@@ -77,9 +77,10 @@ class Mage_CatalogSearch_Model_Resource_Fulltext extends Mage_Core_Model_Resourc
|
|
77 |
*/
|
78 |
protected $_allowTableChanges = true;
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
|
|
|
83 |
|
84 |
/**
|
85 |
* Init resource model
|
@@ -298,12 +299,7 @@ class Mage_CatalogSearch_Model_Resource_Fulltext extends Mage_Core_Model_Resourc
|
|
298 |
*/
|
299 |
public function resetSearchResults()
|
300 |
{
|
301 |
-
$adapter = $this->_getWriteAdapter();
|
302 |
-
$adapter->update($this->getTable('catalogsearch/search_query'), array('is_processed' => 0));
|
303 |
-
$adapter->delete($this->getTable('catalogsearch/result'));
|
304 |
-
|
305 |
Mage::dispatchEvent('catalogsearch_reset_search_result');
|
306 |
-
|
307 |
return $this;
|
308 |
}
|
309 |
|
@@ -334,39 +330,38 @@ class Mage_CatalogSearch_Model_Resource_Fulltext extends Mage_Core_Model_Resourc
|
|
334 |
public function prepareResult($object, $queryText, $query)
|
335 |
{
|
336 |
$adapter = $this->_getWriteAdapter();
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
$
|
341 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
342 |
|
343 |
-
|
344 |
-
|
345 |
-
$likeCond = '';
|
346 |
-
if ($searchType == Mage_CatalogSearch_Model_Fulltext::SEARCH_TYPE_LIKE
|
347 |
-
|| $searchType == Mage_CatalogSearch_Model_Fulltext::SEARCH_TYPE_COMBINE
|
348 |
-
) {
|
349 |
-
$helper = Mage::getResourceHelper('core');
|
350 |
-
$words = Mage::helper('core/string')->splitWords($queryText, true, $query->getMaxQueryWords());
|
351 |
-
foreach ($words as $word) {
|
352 |
-
$like[] = $helper->getCILike('s.data_index', $word, array('position' => 'any'));
|
353 |
-
}
|
354 |
-
if ($like) {
|
355 |
-
$likeCond = '(' . join(' OR ', $like) . ')';
|
356 |
-
}
|
357 |
}
|
|
|
358 |
$mainTableAlias = 's';
|
359 |
-
$fields = array(
|
360 |
-
|
361 |
-
'product_id',
|
362 |
-
);
|
363 |
$select = $adapter->select()
|
364 |
->from(array($mainTableAlias => $this->getMainTable()), $fields)
|
365 |
->joinInner(array('e' => $this->getTable('catalog/product')),
|
366 |
'e.entity_id = s.product_id',
|
367 |
array())
|
368 |
-
->where($mainTableAlias.'.store_id = ?', (int)$query->getStoreId());
|
369 |
|
|
|
370 |
if ($searchType == Mage_CatalogSearch_Model_Fulltext::SEARCH_TYPE_FULLTEXT
|
371 |
|| $searchType == Mage_CatalogSearch_Model_Fulltext::SEARCH_TYPE_COMBINE
|
372 |
) {
|
@@ -374,11 +369,10 @@ class Mage_CatalogSearch_Model_Resource_Fulltext extends Mage_Core_Model_Resourc
|
|
374 |
$where = Mage::getResourceHelper('catalogsearch')
|
375 |
->chooseFulltext($this->getMainTable(), $mainTableAlias, $select);
|
376 |
}
|
377 |
-
|
378 |
if ($likeCond != '' && $searchType == Mage_CatalogSearch_Model_Fulltext::SEARCH_TYPE_COMBINE) {
|
379 |
-
|
380 |
} elseif ($likeCond != '' && $searchType == Mage_CatalogSearch_Model_Fulltext::SEARCH_TYPE_LIKE) {
|
381 |
-
$select->columns(array('relevance'
|
382 |
$where = $likeCond;
|
383 |
}
|
384 |
|
@@ -386,18 +380,22 @@ class Mage_CatalogSearch_Model_Resource_Fulltext extends Mage_Core_Model_Resourc
|
|
386 |
$select->where($where);
|
387 |
}
|
388 |
|
389 |
-
$
|
390 |
-
$this->getTable('catalogsearch/result'),
|
391 |
-
array(),
|
392 |
-
Varien_Db_Adapter_Interface::INSERT_ON_DUPLICATE);
|
393 |
-
$adapter->query($sql, $bind);
|
394 |
-
|
395 |
-
$query->setIsProcessed(1);
|
396 |
}
|
397 |
|
398 |
return $this;
|
399 |
}
|
400 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
401 |
/**
|
402 |
* Retrieve EAV Config Singleton
|
403 |
*
|
77 |
*/
|
78 |
protected $_allowTableChanges = true;
|
79 |
|
80 |
+
/**
|
81 |
+
* @var array
|
82 |
+
*/
|
83 |
+
protected $_foundData = array();
|
84 |
|
85 |
/**
|
86 |
* Init resource model
|
299 |
*/
|
300 |
public function resetSearchResults()
|
301 |
{
|
|
|
|
|
|
|
|
|
302 |
Mage::dispatchEvent('catalogsearch_reset_search_result');
|
|
|
303 |
return $this;
|
304 |
}
|
305 |
|
330 |
public function prepareResult($object, $queryText, $query)
|
331 |
{
|
332 |
$adapter = $this->_getWriteAdapter();
|
333 |
+
$searchType = $object->getSearchType($query->getStoreId());
|
334 |
+
|
335 |
+
$preparedTerms = Mage::getResourceHelper('catalogsearch')
|
336 |
+
->prepareTerms($queryText, $query->getMaxQueryWords());
|
337 |
+
|
338 |
+
$bind = array();
|
339 |
+
$like = array();
|
340 |
+
$likeCond = '';
|
341 |
+
if ($searchType == Mage_CatalogSearch_Model_Fulltext::SEARCH_TYPE_LIKE
|
342 |
+
|| $searchType == Mage_CatalogSearch_Model_Fulltext::SEARCH_TYPE_COMBINE
|
343 |
+
) {
|
344 |
+
$helper = Mage::getResourceHelper('core');
|
345 |
+
$words = Mage::helper('core/string')->splitWords($queryText, true, $query->getMaxQueryWords());
|
346 |
+
foreach ($words as $word) {
|
347 |
+
$like[] = $helper->getCILike('s.data_index', $word, array('position' => 'any'));
|
348 |
+
}
|
349 |
|
350 |
+
if ($like) {
|
351 |
+
$likeCond = '(' . join(' OR ', $like) . ')';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
}
|
353 |
+
|
354 |
$mainTableAlias = 's';
|
355 |
+
$fields = array('product_id');
|
356 |
+
|
|
|
|
|
357 |
$select = $adapter->select()
|
358 |
->from(array($mainTableAlias => $this->getMainTable()), $fields)
|
359 |
->joinInner(array('e' => $this->getTable('catalog/product')),
|
360 |
'e.entity_id = s.product_id',
|
361 |
array())
|
362 |
+
->where($mainTableAlias . '.store_id = ?', (int)$query->getStoreId());
|
363 |
|
364 |
+
$where = "";
|
365 |
if ($searchType == Mage_CatalogSearch_Model_Fulltext::SEARCH_TYPE_FULLTEXT
|
366 |
|| $searchType == Mage_CatalogSearch_Model_Fulltext::SEARCH_TYPE_COMBINE
|
367 |
) {
|
369 |
$where = Mage::getResourceHelper('catalogsearch')
|
370 |
->chooseFulltext($this->getMainTable(), $mainTableAlias, $select);
|
371 |
}
|
|
|
372 |
if ($likeCond != '' && $searchType == Mage_CatalogSearch_Model_Fulltext::SEARCH_TYPE_COMBINE) {
|
373 |
+
$where .= ($where ? ' OR ' : '') . $likeCond;
|
374 |
} elseif ($likeCond != '' && $searchType == Mage_CatalogSearch_Model_Fulltext::SEARCH_TYPE_LIKE) {
|
375 |
+
$select->columns(array('relevance' => new Zend_Db_Expr(0)));
|
376 |
$where = $likeCond;
|
377 |
}
|
378 |
|
380 |
$select->where($where);
|
381 |
}
|
382 |
|
383 |
+
$this->_foundData = $adapter->fetchPairs($select, $bind);
|
|
|
|
|
|
|
|
|
|
|
|
|
384 |
}
|
385 |
|
386 |
return $this;
|
387 |
}
|
388 |
|
389 |
+
/**
|
390 |
+
* Retrieve found data
|
391 |
+
*
|
392 |
+
* @return array
|
393 |
+
*/
|
394 |
+
public function getFoundData()
|
395 |
+
{
|
396 |
+
return $this->_foundData;
|
397 |
+
}
|
398 |
+
|
399 |
/**
|
400 |
* Retrieve EAV Config Singleton
|
401 |
*
|
app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext/Collection.php
CHANGED
@@ -34,6 +34,39 @@
|
|
34 |
*/
|
35 |
class Mage_CatalogSearch_Model_Resource_Fulltext_Collection extends Mage_Catalog_Model_Resource_Product_Collection
|
36 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
/**
|
38 |
* Retrieve query model object
|
39 |
*
|
@@ -47,22 +80,101 @@ class Mage_CatalogSearch_Model_Resource_Fulltext_Collection extends Mage_Catalog
|
|
47 |
/**
|
48 |
* Add search query filter
|
49 |
*
|
50 |
-
* @param
|
51 |
* @return Mage_CatalogSearch_Model_Resource_Fulltext_Collection
|
52 |
*/
|
53 |
public function addSearchFilter($query)
|
54 |
{
|
55 |
-
|
56 |
-
|
57 |
-
$this->getSelect()->joinInner(
|
58 |
-
array('search_result' => $this->getTable('catalogsearch/result')),
|
59 |
-
$this->getConnection()->quoteInto(
|
60 |
-
'search_result.product_id=e.entity_id AND search_result.query_id=?',
|
61 |
-
$this->_getQuery()->getId()
|
62 |
-
),
|
63 |
-
array('relevance' => 'relevance')
|
64 |
-
);
|
65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
return $this;
|
67 |
}
|
68 |
|
@@ -76,7 +188,8 @@ class Mage_CatalogSearch_Model_Resource_Fulltext_Collection extends Mage_Catalog
|
|
76 |
public function setOrder($attribute, $dir = 'desc')
|
77 |
{
|
78 |
if ($attribute == 'relevance') {
|
79 |
-
$this->
|
|
|
80 |
} else {
|
81 |
parent::setOrder($attribute, $dir);
|
82 |
}
|
@@ -84,7 +197,34 @@ class Mage_CatalogSearch_Model_Resource_Fulltext_Collection extends Mage_Catalog
|
|
84 |
}
|
85 |
|
86 |
/**
|
87 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
*
|
89 |
* @return Mage_CatalogSearch_Model_Resource_Fulltext_Collection
|
90 |
*/
|
@@ -92,4 +232,24 @@ class Mage_CatalogSearch_Model_Resource_Fulltext_Collection extends Mage_Catalog
|
|
92 |
{
|
93 |
return $this;
|
94 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
}
|
34 |
*/
|
35 |
class Mage_CatalogSearch_Model_Resource_Fulltext_Collection extends Mage_Catalog_Model_Resource_Product_Collection
|
36 |
{
|
37 |
+
/**
|
38 |
+
* Name for relevance order
|
39 |
+
*/
|
40 |
+
const RELEVANCE_ORDER_NAME = 'relevance';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Found data
|
44 |
+
*
|
45 |
+
* @var array
|
46 |
+
*/
|
47 |
+
protected $_foundData = null;
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Sort order by relevance
|
51 |
+
*
|
52 |
+
* @var null
|
53 |
+
*/
|
54 |
+
protected $_relevanceSortOrder = SORT_DESC;
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Sort by relevance flag
|
58 |
+
*
|
59 |
+
* @var bool
|
60 |
+
*/
|
61 |
+
protected $_sortByRelevance = false;
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Is search filter applied flag
|
65 |
+
*
|
66 |
+
* @var bool
|
67 |
+
*/
|
68 |
+
protected $_isSearchFiltersApplied = false;
|
69 |
+
|
70 |
/**
|
71 |
* Retrieve query model object
|
72 |
*
|
80 |
/**
|
81 |
* Add search query filter
|
82 |
*
|
83 |
+
* @param $query
|
84 |
* @return Mage_CatalogSearch_Model_Resource_Fulltext_Collection
|
85 |
*/
|
86 |
public function addSearchFilter($query)
|
87 |
{
|
88 |
+
return $this;
|
89 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
|
91 |
+
/**
|
92 |
+
* Before load handler
|
93 |
+
*
|
94 |
+
* @return Mage_Catalog_Model_Resource_Product_Collection
|
95 |
+
*/
|
96 |
+
protected function _beforeLoad()
|
97 |
+
{
|
98 |
+
if (!$this->_isSearchFiltersApplied) {
|
99 |
+
$this->_applySearchFilters();
|
100 |
+
}
|
101 |
+
|
102 |
+
return parent::_beforeLoad();
|
103 |
+
}
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Get collection size
|
107 |
+
*
|
108 |
+
* @return int
|
109 |
+
*/
|
110 |
+
public function getSize()
|
111 |
+
{
|
112 |
+
if (!$this->_isSearchFiltersApplied) {
|
113 |
+
$this->_applySearchFilters();
|
114 |
+
}
|
115 |
+
|
116 |
+
return parent::getSize();
|
117 |
+
}
|
118 |
+
|
119 |
+
/**
|
120 |
+
* Apply collection search filter
|
121 |
+
*
|
122 |
+
* @return Mage_CatalogSearch_Model_Resource_Fulltext_Collection
|
123 |
+
*/
|
124 |
+
protected function _applySearchFilters()
|
125 |
+
{
|
126 |
+
$foundIds = $this->getFoundIds();
|
127 |
+
if (!empty($foundIds)) {
|
128 |
+
$this->addIdFilter($foundIds);
|
129 |
+
} else {
|
130 |
+
$this->getSelect()->orWhere('FALSE');
|
131 |
+
}
|
132 |
+
$this->_isSearchFiltersApplied = true;
|
133 |
+
|
134 |
+
return $this;
|
135 |
+
}
|
136 |
+
|
137 |
+
/**
|
138 |
+
* Get found products ids
|
139 |
+
*
|
140 |
+
* @return array
|
141 |
+
*/
|
142 |
+
public function getFoundIds()
|
143 |
+
{
|
144 |
+
if (is_null($this->_foundData)) {
|
145 |
+
/** @var Mage_CatalogSearch_Model_Fulltext $preparedResult */
|
146 |
+
$preparedResult = Mage::getSingleton('catalogsearch/fulltext');
|
147 |
+
$preparedResult->prepareResult();
|
148 |
+
$this->_foundData = $preparedResult->getResource()->getFoundData();
|
149 |
+
}
|
150 |
+
if (isset($this->_orders[self::RELEVANCE_ORDER_NAME])) {
|
151 |
+
$this->_resortFoundDataByRelevance();
|
152 |
+
}
|
153 |
+
return array_keys($this->_foundData);
|
154 |
+
}
|
155 |
+
|
156 |
+
/**
|
157 |
+
* Resort found data by relevance
|
158 |
+
*
|
159 |
+
* @return Mage_CatalogSearch_Model_Resource_Fulltext_Collection
|
160 |
+
*/
|
161 |
+
protected function _resortFoundDataByRelevance()
|
162 |
+
{
|
163 |
+
if (is_array($this->_foundData)) {
|
164 |
+
$data = array();
|
165 |
+
foreach ($this->_foundData as $id => $relevance) {
|
166 |
+
$this->_foundData[$id] = $relevance . '_' . $id;
|
167 |
+
}
|
168 |
+
natsort($this->_foundData);
|
169 |
+
if ($this->_relevanceSortOrder == SORT_DESC) {
|
170 |
+
$this->_foundData = array_reverse($this->_foundData);
|
171 |
+
}
|
172 |
+
foreach ($this->_foundData as $dataString) {
|
173 |
+
list ($relevance, $id) = explode('_', $dataString);
|
174 |
+
$data[$id] = $relevance;
|
175 |
+
}
|
176 |
+
$this->_foundData = $data;
|
177 |
+
}
|
178 |
return $this;
|
179 |
}
|
180 |
|
188 |
public function setOrder($attribute, $dir = 'desc')
|
189 |
{
|
190 |
if ($attribute == 'relevance') {
|
191 |
+
$this->_relevanceSortOrder = ($dir == 'asc') ? SORT_ASC : SORT_DESC;
|
192 |
+
$this->addOrder(self::RELEVANCE_ORDER_NAME);
|
193 |
} else {
|
194 |
parent::setOrder($attribute, $dir);
|
195 |
}
|
197 |
}
|
198 |
|
199 |
/**
|
200 |
+
* Add sorting by relevance to select
|
201 |
+
*
|
202 |
+
* @return Mage_CatalogSearch_Model_Resource_Fulltext_Collection
|
203 |
+
*/
|
204 |
+
protected function _addRelevanceSorting()
|
205 |
+
{
|
206 |
+
$foundIds = $this->getFoundIds();
|
207 |
+
if (!$foundIds) {
|
208 |
+
return $this;
|
209 |
+
}
|
210 |
+
|
211 |
+
/** @var Mage_CatalogSearch_Model_Resource_Helper_Mysql4 $resourceHelper */
|
212 |
+
$resourceHelper = Mage::getResourceHelper('catalogsearch');
|
213 |
+
$this->_select->order(
|
214 |
+
new Zend_Db_Expr(
|
215 |
+
$resourceHelper->getFieldOrderExpression(
|
216 |
+
'e.' . $this->getResource()->getIdFieldName(),
|
217 |
+
$foundIds
|
218 |
+
)
|
219 |
+
. ' ' . Zend_Db_Select::SQL_ASC
|
220 |
+
)
|
221 |
+
);
|
222 |
+
|
223 |
+
return $this;
|
224 |
+
}
|
225 |
+
|
226 |
+
/**
|
227 |
+
* Stub method for compatibility with other search engines
|
228 |
*
|
229 |
* @return Mage_CatalogSearch_Model_Resource_Fulltext_Collection
|
230 |
*/
|
232 |
{
|
233 |
return $this;
|
234 |
}
|
235 |
+
|
236 |
+
/**
|
237 |
+
* Render sql select orders
|
238 |
+
*
|
239 |
+
* @return Varien_Data_Collection_Db
|
240 |
+
*/
|
241 |
+
protected function _renderOrders()
|
242 |
+
{
|
243 |
+
if (!$this->_isOrdersRendered) {
|
244 |
+
foreach ($this->_orders as $attribute => $direction) {
|
245 |
+
if ($attribute == self::RELEVANCE_ORDER_NAME) {
|
246 |
+
$this->_addRelevanceSorting();
|
247 |
+
} else {
|
248 |
+
$this->addAttributeToSort($attribute, $direction);
|
249 |
+
}
|
250 |
+
}
|
251 |
+
$this->_isOrdersRendered = true;
|
252 |
+
}
|
253 |
+
return $this;
|
254 |
+
}
|
255 |
}
|
app/code/core/Mage/CatalogSearch/Model/Resource/Helper/Mysql4.php
CHANGED
@@ -52,6 +52,7 @@ class Mage_CatalogSearch_Model_Resource_Helper_Mysql4 extends Mage_Eav_Model_Res
|
|
52 |
* Prepare Terms
|
53 |
*
|
54 |
* @param string $str The source string
|
|
|
55 |
* @return array(0=>words, 1=>terms)
|
56 |
*/
|
57 |
function prepareTerms($str, $maxWordLength = 0)
|
@@ -112,10 +113,24 @@ class Mage_CatalogSearch_Model_Resource_Helper_Mysql4 extends Mage_Eav_Model_Res
|
|
112 |
*
|
113 |
* @param mixed $table The table to insert data into.
|
114 |
* @param array $data Column-value pairs or array of column-value pairs.
|
115 |
-
* @param
|
116 |
* @return int The number of affected rows.
|
117 |
*/
|
118 |
public function insertOnDuplicate($table, array $data, array $fields = array()) {
|
119 |
return $this->_getWriteAdapter()->insertOnDuplicate($table, $data, $fields);
|
120 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
}
|
52 |
* Prepare Terms
|
53 |
*
|
54 |
* @param string $str The source string
|
55 |
+
* @param int $maxWordLength
|
56 |
* @return array(0=>words, 1=>terms)
|
57 |
*/
|
58 |
function prepareTerms($str, $maxWordLength = 0)
|
113 |
*
|
114 |
* @param mixed $table The table to insert data into.
|
115 |
* @param array $data Column-value pairs or array of column-value pairs.
|
116 |
+
* @param array $fields update fields pairs or values
|
117 |
* @return int The number of affected rows.
|
118 |
*/
|
119 |
public function insertOnDuplicate($table, array $data, array $fields = array()) {
|
120 |
return $this->_getWriteAdapter()->insertOnDuplicate($table, $data, $fields);
|
121 |
}
|
122 |
+
|
123 |
+
/**
|
124 |
+
* Get field expression for order by
|
125 |
+
*
|
126 |
+
* @param string $fieldName
|
127 |
+
* @param array $orderedIds
|
128 |
+
*
|
129 |
+
* @return string
|
130 |
+
*/
|
131 |
+
public function getFieldOrderExpression($fieldName, array $orderedIds)
|
132 |
+
{
|
133 |
+
$fieldName = $this->_getWriteAdapter()->quoteIdentifier($fieldName);
|
134 |
+
return "FIELD({$fieldName}, {$this->_getReadAdapter()->quote($orderedIds)})";
|
135 |
+
}
|
136 |
}
|
app/code/core/Mage/Checkout/Model/Cart.php
CHANGED
@@ -229,10 +229,6 @@ class Mage_Checkout_Model_Cart extends Varien_Object implements Mage_Checkout_Mo
|
|
229 |
$request = new Varien_Object($requestInfo);
|
230 |
}
|
231 |
|
232 |
-
if (!$request->hasQty()) {
|
233 |
-
$request->setQty(1);
|
234 |
-
}
|
235 |
-
|
236 |
return $request;
|
237 |
}
|
238 |
|
@@ -248,14 +244,21 @@ class Mage_Checkout_Model_Cart extends Varien_Object implements Mage_Checkout_Mo
|
|
248 |
$product = $this->_getProduct($productInfo);
|
249 |
$request = $this->_getProductRequest($requestInfo);
|
250 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
$productId = $product->getId();
|
252 |
|
253 |
-
if ($product->getStockItem()) {
|
254 |
$minimumQty = $product->getStockItem()->getMinSaleQty();
|
255 |
//If product was not found in cart and there is set minimal qty for it
|
256 |
if ($minimumQty && $minimumQty > 0 && $request->getQty() < $minimumQty
|
257 |
&& !$this->getQuote()->hasProductId($productId)
|
258 |
-
){
|
259 |
$request->setQty($minimumQty);
|
260 |
}
|
261 |
}
|
229 |
$request = new Varien_Object($requestInfo);
|
230 |
}
|
231 |
|
|
|
|
|
|
|
|
|
232 |
return $request;
|
233 |
}
|
234 |
|
244 |
$product = $this->_getProduct($productInfo);
|
245 |
$request = $this->_getProductRequest($requestInfo);
|
246 |
|
247 |
+
/** @var Mage_Catalog_Helper_Product $helper */
|
248 |
+
$helper = Mage::helper('catalog/product');
|
249 |
+
|
250 |
+
if (!$request->hasQty()) {
|
251 |
+
$request->setQty($helper->getDefaultQty($product));
|
252 |
+
}
|
253 |
+
|
254 |
$productId = $product->getId();
|
255 |
|
256 |
+
if (!$product->isConfigurable() && $product->getStockItem()) {
|
257 |
$minimumQty = $product->getStockItem()->getMinSaleQty();
|
258 |
//If product was not found in cart and there is set minimal qty for it
|
259 |
if ($minimumQty && $minimumQty > 0 && $request->getQty() < $minimumQty
|
260 |
&& !$this->getQuote()->hasProductId($productId)
|
261 |
+
) {
|
262 |
$request->setQty($minimumQty);
|
263 |
}
|
264 |
}
|
app/code/core/Mage/Checkout/Model/Type/Multishipping.php
CHANGED
@@ -308,6 +308,9 @@ class Mage_Checkout_Model_Type_Multishipping extends Mage_Checkout_Model_Type_Ab
|
|
308 |
if (!$quoteAddress = $this->getQuote()->getShippingAddressByCustomerAddressId($address->getId())) {
|
309 |
$quoteAddress = Mage::getModel('sales/quote_address')->importCustomerAddress($address);
|
310 |
$this->getQuote()->addShippingAddress($quoteAddress);
|
|
|
|
|
|
|
311 |
}
|
312 |
|
313 |
$quoteAddress = $this->getQuote()->getShippingAddressByCustomerAddressId($address->getId());
|
308 |
if (!$quoteAddress = $this->getQuote()->getShippingAddressByCustomerAddressId($address->getId())) {
|
309 |
$quoteAddress = Mage::getModel('sales/quote_address')->importCustomerAddress($address);
|
310 |
$this->getQuote()->addShippingAddress($quoteAddress);
|
311 |
+
if ($couponCode = $this->getCheckoutSession()->getCartCouponCode()) {
|
312 |
+
$this->getQuote()->setCouponCode($couponCode);
|
313 |
+
}
|
314 |
}
|
315 |
|
316 |
$quoteAddress = $this->getQuote()->getShippingAddressByCustomerAddressId($address->getId());
|
app/code/core/Mage/Checkout/Model/Type/Onepage.php
CHANGED
@@ -362,6 +362,7 @@ class Mage_Checkout_Model_Type_Onepage
|
|
362 |
->setShippingMethod($shippingMethod)
|
363 |
->setCollectShippingRates(true);
|
364 |
$this->getCheckout()->setStepData('shipping', 'complete', true);
|
|
|
365 |
break;
|
366 |
}
|
367 |
}
|
@@ -592,6 +593,8 @@ class Mage_Checkout_Model_Type_Onepage
|
|
592 |
return array('error' => 1, 'message' => $validateRes);
|
593 |
}
|
594 |
|
|
|
|
|
595 |
$this->getQuote()->collectTotals()->save();
|
596 |
|
597 |
$this->getCheckout()
|
@@ -946,4 +949,17 @@ class Mage_Checkout_Model_Type_Onepage
|
|
946 |
}
|
947 |
return $orderId;
|
948 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
949 |
}
|
362 |
->setShippingMethod($shippingMethod)
|
363 |
->setCollectShippingRates(true);
|
364 |
$this->getCheckout()->setStepData('shipping', 'complete', true);
|
365 |
+
$this->_setCartCouponCode();
|
366 |
break;
|
367 |
}
|
368 |
}
|
593 |
return array('error' => 1, 'message' => $validateRes);
|
594 |
}
|
595 |
|
596 |
+
$this->_setCartCouponCode();
|
597 |
+
|
598 |
$this->getQuote()->collectTotals()->save();
|
599 |
|
600 |
$this->getCheckout()
|
949 |
}
|
950 |
return $orderId;
|
951 |
}
|
952 |
+
|
953 |
+
/**
|
954 |
+
* Sets cart coupon code from checkout to quote
|
955 |
+
*
|
956 |
+
* @return $this
|
957 |
+
*/
|
958 |
+
protected function _setCartCouponCode()
|
959 |
+
{
|
960 |
+
if ($couponCode = $this->getCheckout()->getCartCouponCode()) {
|
961 |
+
$this->getQuote()->setCouponCode($couponCode);
|
962 |
+
}
|
963 |
+
return $this;
|
964 |
+
}
|
965 |
}
|
app/code/core/Mage/Checkout/controllers/CartController.php
CHANGED
@@ -89,7 +89,10 @@ class Mage_Checkout_CartController extends Mage_Core_Controller_Front_Action
|
|
89 |
) {
|
90 |
$this->getResponse()->setRedirect($backUrl);
|
91 |
} else {
|
92 |
-
if (
|
|
|
|
|
|
|
93 |
$this->_getSession()->setContinueShoppingUrl($this->_getRefererUrl());
|
94 |
}
|
95 |
$this->_redirect('checkout/cart');
|
@@ -141,6 +144,20 @@ class Mage_Checkout_CartController extends Mage_Core_Controller_Front_Action
|
|
141 |
$cart = $this->_getCart();
|
142 |
if ($cart->getQuote()->getItemsCount()) {
|
143 |
$cart->init();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
$cart->save();
|
145 |
|
146 |
if (!$this->_getQuote()->validateMinimumAmount()) {
|
@@ -526,6 +543,13 @@ class Mage_Checkout_CartController extends Mage_Core_Controller_Front_Action
|
|
526 |
->setRegion($region)
|
527 |
->setCollectShippingRates(true);
|
528 |
$this->_getQuote()->save();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
529 |
$this->_goBack();
|
530 |
}
|
531 |
|
@@ -581,6 +605,7 @@ class Mage_Checkout_CartController extends Mage_Core_Controller_Front_Action
|
|
581 |
$this->_getSession()->addSuccess(
|
582 |
$this->__('Coupon code "%s" was applied.', Mage::helper('core')->escapeHtml($couponCode))
|
583 |
);
|
|
|
584 |
} else {
|
585 |
$this->_getSession()->addError(
|
586 |
$this->__('Coupon code "%s" is not valid.', Mage::helper('core')->escapeHtml($couponCode))
|
89 |
) {
|
90 |
$this->getResponse()->setRedirect($backUrl);
|
91 |
} else {
|
92 |
+
if (
|
93 |
+
(strtolower($this->getRequest()->getActionName()) == 'add')
|
94 |
+
&& !$this->getRequest()->getParam('in_cart')
|
95 |
+
) {
|
96 |
$this->_getSession()->setContinueShoppingUrl($this->_getRefererUrl());
|
97 |
}
|
98 |
$this->_redirect('checkout/cart');
|
144 |
$cart = $this->_getCart();
|
145 |
if ($cart->getQuote()->getItemsCount()) {
|
146 |
$cart->init();
|
147 |
+
if (
|
148 |
+
$cart->getQuote()->getShippingAddress()
|
149 |
+
&& $this->_getSession()->getEstimatedShippingAddressData()
|
150 |
+
&& $couponCode = $this->_getSession()->getCartCouponCode()
|
151 |
+
) {
|
152 |
+
$estimatedSessionAddressData = $this->_getSession()->getEstimatedShippingAddressData();
|
153 |
+
$cart->getQuote()->getShippingAddress()
|
154 |
+
->setCountryId($estimatedSessionAddressData['country_id'])
|
155 |
+
->setCity($estimatedSessionAddressData['city'])
|
156 |
+
->setPostcode($estimatedSessionAddressData['postcode'])
|
157 |
+
->setRegionId($estimatedSessionAddressData['region_id'])
|
158 |
+
->setRegion($estimatedSessionAddressData['region']);
|
159 |
+
$cart->getQuote()->setCouponCode($couponCode);
|
160 |
+
}
|
161 |
$cart->save();
|
162 |
|
163 |
if (!$this->_getQuote()->validateMinimumAmount()) {
|
543 |
->setRegion($region)
|
544 |
->setCollectShippingRates(true);
|
545 |
$this->_getQuote()->save();
|
546 |
+
$this->_getSession()->setEstimatedShippingAddressData(array(
|
547 |
+
'country_id' => $country,
|
548 |
+
'postcode' => $postcode,
|
549 |
+
'city' => $city,
|
550 |
+
'region_id' => $regionId,
|
551 |
+
'region' => $region
|
552 |
+
));
|
553 |
$this->_goBack();
|
554 |
}
|
555 |
|
605 |
$this->_getSession()->addSuccess(
|
606 |
$this->__('Coupon code "%s" was applied.', Mage::helper('core')->escapeHtml($couponCode))
|
607 |
);
|
608 |
+
$this->_getSession()->setCartCouponCode($couponCode);
|
609 |
} else {
|
610 |
$this->_getSession()->addError(
|
611 |
$this->__('Coupon code "%s" is not valid.', Mage::helper('core')->escapeHtml($couponCode))
|
app/code/core/Mage/Checkout/controllers/OnepageController.php
CHANGED
@@ -334,8 +334,7 @@ class Mage_Checkout_OnepageController extends Mage_Checkout_Controller_Action
|
|
334 |
$address = $this->getOnepage()->getAddress($addressId);
|
335 |
|
336 |
if (Mage::getSingleton('customer/session')->getCustomer()->getId() == $address->getCustomerId()) {
|
337 |
-
$this->
|
338 |
-
$this->getResponse()->setBody($address->toJson());
|
339 |
} else {
|
340 |
$this->getResponse()->setHeader('HTTP/1.1','403 Forbidden');
|
341 |
}
|
@@ -353,7 +352,7 @@ class Mage_Checkout_OnepageController extends Mage_Checkout_Controller_Action
|
|
353 |
if ($this->getRequest()->isPost()) {
|
354 |
$method = $this->getRequest()->getPost('method');
|
355 |
$result = $this->getOnepage()->saveCheckoutMethod($method);
|
356 |
-
$this->
|
357 |
}
|
358 |
}
|
359 |
|
@@ -395,7 +394,7 @@ class Mage_Checkout_OnepageController extends Mage_Checkout_Controller_Action
|
|
395 |
}
|
396 |
}
|
397 |
|
398 |
-
$this->
|
399 |
}
|
400 |
}
|
401 |
|
@@ -419,7 +418,7 @@ class Mage_Checkout_OnepageController extends Mage_Checkout_Controller_Action
|
|
419 |
'html' => $this->_getShippingMethodsHtml()
|
420 |
);
|
421 |
}
|
422 |
-
$this->
|
423 |
}
|
424 |
}
|
425 |
|
@@ -442,7 +441,7 @@ class Mage_Checkout_OnepageController extends Mage_Checkout_Controller_Action
|
|
442 |
'request' => $this->getRequest(),
|
443 |
'quote' => $this->getOnepage()->getQuote()));
|
444 |
$this->getOnepage()->getQuote()->collectTotals();
|
445 |
-
$this->
|
446 |
|
447 |
$result['goto_section'] = 'payment';
|
448 |
$result['update_section'] = array(
|
@@ -451,7 +450,7 @@ class Mage_Checkout_OnepageController extends Mage_Checkout_Controller_Action
|
|
451 |
);
|
452 |
}
|
453 |
$this->getOnepage()->getQuote()->collectTotals()->save();
|
454 |
-
$this->
|
455 |
}
|
456 |
}
|
457 |
|
@@ -498,7 +497,7 @@ class Mage_Checkout_OnepageController extends Mage_Checkout_Controller_Action
|
|
498 |
Mage::logException($e);
|
499 |
$result['error'] = $this->__('Unable to set Payment Method.');
|
500 |
}
|
501 |
-
$this->
|
502 |
}
|
503 |
|
504 |
/**
|
@@ -561,7 +560,7 @@ class Mage_Checkout_OnepageController extends Mage_Checkout_Controller_Action
|
|
561 |
$result['success'] = false;
|
562 |
$result['error'] = true;
|
563 |
$result['error_messages'] = $this->__('Please agree to all the terms and conditions before placing the order.');
|
564 |
-
$this->
|
565 |
return;
|
566 |
}
|
567 |
}
|
@@ -630,7 +629,7 @@ class Mage_Checkout_OnepageController extends Mage_Checkout_Controller_Action
|
|
630 |
$result['redirect'] = $redirectUrl;
|
631 |
}
|
632 |
|
633 |
-
$this->
|
634 |
}
|
635 |
|
636 |
/**
|
@@ -657,4 +656,17 @@ class Mage_Checkout_OnepageController extends Mage_Checkout_Controller_Action
|
|
657 |
|| Mage::helper('checkout')->isAllowedGuestCheckout($this->getOnepage()->getQuote())
|
658 |
|| !Mage::helper('checkout')->isCustomerMustBeLogged();
|
659 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
660 |
}
|
334 |
$address = $this->getOnepage()->getAddress($addressId);
|
335 |
|
336 |
if (Mage::getSingleton('customer/session')->getCustomer()->getId() == $address->getCustomerId()) {
|
337 |
+
$this->_prepareDataJSON($address->toArray());
|
|
|
338 |
} else {
|
339 |
$this->getResponse()->setHeader('HTTP/1.1','403 Forbidden');
|
340 |
}
|
352 |
if ($this->getRequest()->isPost()) {
|
353 |
$method = $this->getRequest()->getPost('method');
|
354 |
$result = $this->getOnepage()->saveCheckoutMethod($method);
|
355 |
+
$this->_prepareDataJSON($result);
|
356 |
}
|
357 |
}
|
358 |
|
394 |
}
|
395 |
}
|
396 |
|
397 |
+
$this->_prepareDataJSON($result);
|
398 |
}
|
399 |
}
|
400 |
|
418 |
'html' => $this->_getShippingMethodsHtml()
|
419 |
);
|
420 |
}
|
421 |
+
$this->_prepareDataJSON($result);
|
422 |
}
|
423 |
}
|
424 |
|
441 |
'request' => $this->getRequest(),
|
442 |
'quote' => $this->getOnepage()->getQuote()));
|
443 |
$this->getOnepage()->getQuote()->collectTotals();
|
444 |
+
$this->_prepareDataJSON($result);
|
445 |
|
446 |
$result['goto_section'] = 'payment';
|
447 |
$result['update_section'] = array(
|
450 |
);
|
451 |
}
|
452 |
$this->getOnepage()->getQuote()->collectTotals()->save();
|
453 |
+
$this->_prepareDataJSON($result);
|
454 |
}
|
455 |
}
|
456 |
|
497 |
Mage::logException($e);
|
498 |
$result['error'] = $this->__('Unable to set Payment Method.');
|
499 |
}
|
500 |
+
$this->_prepareDataJSON($result);
|
501 |
}
|
502 |
|
503 |
/**
|
560 |
$result['success'] = false;
|
561 |
$result['error'] = true;
|
562 |
$result['error_messages'] = $this->__('Please agree to all the terms and conditions before placing the order.');
|
563 |
+
$this->_prepareDataJSON($result);
|
564 |
return;
|
565 |
}
|
566 |
}
|
629 |
$result['redirect'] = $redirectUrl;
|
630 |
}
|
631 |
|
632 |
+
$this->_prepareDataJSON($result);
|
633 |
}
|
634 |
|
635 |
/**
|
656 |
|| Mage::helper('checkout')->isAllowedGuestCheckout($this->getOnepage()->getQuote())
|
657 |
|| !Mage::helper('checkout')->isCustomerMustBeLogged();
|
658 |
}
|
659 |
+
|
660 |
+
/**
|
661 |
+
* Prepare JSON formatted data for response to client
|
662 |
+
*
|
663 |
+
* @param $response
|
664 |
+
* @return Zend_Controller_Response_Abstract
|
665 |
+
*/
|
666 |
+
protected function _prepareDataJSON($response)
|
667 |
+
{
|
668 |
+
$this->getResponse()->setHeader('Content-type', 'application/json', true);
|
669 |
+
return $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($response));
|
670 |
+
}
|
671 |
+
|
672 |
}
|
app/code/core/Mage/Cms/Block/Page.php
CHANGED
@@ -63,14 +63,28 @@ class Mage_Cms_Block_Page extends Mage_Core_Block_Abstract
|
|
63 |
protected function _prepareLayout()
|
64 |
{
|
65 |
$page = $this->getPage();
|
|
|
66 |
|
67 |
// show breadcrumbs
|
68 |
if (Mage::getStoreConfig('web/default/show_cms_breadcrumbs')
|
69 |
&& ($breadcrumbs = $this->getLayout()->getBlock('breadcrumbs'))
|
70 |
&& ($page->getIdentifier()!==Mage::getStoreConfig('web/default/cms_home_page'))
|
71 |
&& ($page->getIdentifier()!==Mage::getStoreConfig('web/default/cms_no_route'))) {
|
72 |
-
|
73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
}
|
75 |
|
76 |
$root = $this->getLayout()->getBlock('root');
|
@@ -85,6 +99,14 @@ class Mage_Cms_Block_Page extends Mage_Core_Block_Abstract
|
|
85 |
$head->setDescription($page->getMetaDescription());
|
86 |
}
|
87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
return parent::_prepareLayout();
|
89 |
}
|
90 |
|
63 |
protected function _prepareLayout()
|
64 |
{
|
65 |
$page = $this->getPage();
|
66 |
+
$breadcrumbsArray = array();
|
67 |
|
68 |
// show breadcrumbs
|
69 |
if (Mage::getStoreConfig('web/default/show_cms_breadcrumbs')
|
70 |
&& ($breadcrumbs = $this->getLayout()->getBlock('breadcrumbs'))
|
71 |
&& ($page->getIdentifier()!==Mage::getStoreConfig('web/default/cms_home_page'))
|
72 |
&& ($page->getIdentifier()!==Mage::getStoreConfig('web/default/cms_no_route'))) {
|
73 |
+
$breadcrumbsArray[] = array(
|
74 |
+
'crumbName' => 'home',
|
75 |
+
'crumbInfo' => array(
|
76 |
+
'label' => Mage::helper('cms')->__('Home'),
|
77 |
+
'title' => Mage::helper('cms')->__('Go to Home Page'),
|
78 |
+
'link' => Mage::getBaseUrl()
|
79 |
+
)
|
80 |
+
);
|
81 |
+
$breadcrumbsArray[] = array(
|
82 |
+
'crumbName' => 'cms_page',
|
83 |
+
'crumbInfo' => array(
|
84 |
+
'label' => $page->getTitle(),
|
85 |
+
'title' => $page->getTitle()
|
86 |
+
)
|
87 |
+
);
|
88 |
}
|
89 |
|
90 |
$root = $this->getLayout()->getBlock('root');
|
99 |
$head->setDescription($page->getMetaDescription());
|
100 |
}
|
101 |
|
102 |
+
$breadcrumbsObject = new Varien_Object();
|
103 |
+
$breadcrumbsObject->setCrumbs($breadcrumbsArray);
|
104 |
+
|
105 |
+
Mage::dispatchEvent('cms_generate_breadcrumbs', array('breadcrumbs' => $breadcrumbsObject));
|
106 |
+
|
107 |
+
foreach ($breadcrumbsObject->getCrumbs() as $breadcrumbsItem) {
|
108 |
+
$breadcrumbs->addCrumb($breadcrumbsItem['crumbName'], $breadcrumbsItem['crumbInfo']);
|
109 |
+
}
|
110 |
return parent::_prepareLayout();
|
111 |
}
|
112 |
|
app/code/core/Mage/Cms/Helper/Wysiwyg/Images.php
CHANGED
@@ -222,7 +222,8 @@ class Mage_Cms_Helper_Wysiwyg_Images extends Mage_Core_Helper_Abstract
|
|
222 |
}
|
223 |
$io = new Varien_Io_File();
|
224 |
if (!$io->isWriteable($currentPath) && !$io->mkdir($currentPath)) {
|
225 |
-
$message = Mage::helper('cms')->__('The directory %s is not writable by server.'
|
|
|
226 |
Mage::throwException($message);
|
227 |
}
|
228 |
$this->_currentPath = $currentPath;
|
222 |
}
|
223 |
$io = new Varien_Io_File();
|
224 |
if (!$io->isWriteable($currentPath) && !$io->mkdir($currentPath)) {
|
225 |
+
$message = Mage::helper('cms')->__('The directory %s is not writable by server.',
|
226 |
+
$io->getFilteredPath($currentPath));
|
227 |
Mage::throwException($message);
|
228 |
}
|
229 |
$this->_currentPath = $currentPath;
|
app/code/core/Mage/Cms/Model/Wysiwyg/Images/Storage.php
CHANGED
@@ -227,17 +227,18 @@ class Mage_Cms_Model_Wysiwyg_Images_Storage extends Varien_Object
|
|
227 |
$rootCmp = rtrim($this->getHelper()->getStorageRoot(), DS);
|
228 |
$pathCmp = rtrim($path, DS);
|
229 |
|
|
|
|
|
230 |
if ($rootCmp == $pathCmp) {
|
231 |
-
Mage::throwException(Mage::helper('cms')->__('Cannot delete root directory %s.',
|
|
|
232 |
}
|
233 |
|
234 |
-
$io = new Varien_Io_File();
|
235 |
-
|
236 |
if (Mage::helper('core/file_storage_database')->checkDbUsage()) {
|
237 |
Mage::getModel('core/file_storage_directory_database')->deleteDirectory($path);
|
238 |
}
|
239 |
if (!$io->rmdir($path, true)) {
|
240 |
-
Mage::throwException(Mage::helper('cms')->__('Cannot delete directory %s.', $path));
|
241 |
}
|
242 |
|
243 |
if (strpos($pathCmp, $rootCmp) === 0) {
|
227 |
$rootCmp = rtrim($this->getHelper()->getStorageRoot(), DS);
|
228 |
$pathCmp = rtrim($path, DS);
|
229 |
|
230 |
+
$io = new Varien_Io_File();
|
231 |
+
|
232 |
if ($rootCmp == $pathCmp) {
|
233 |
+
Mage::throwException(Mage::helper('cms')->__('Cannot delete root directory %s.',
|
234 |
+
$io->getFilteredPath($path)));
|
235 |
}
|
236 |
|
|
|
|
|
237 |
if (Mage::helper('core/file_storage_database')->checkDbUsage()) {
|
238 |
Mage::getModel('core/file_storage_directory_database')->deleteDirectory($path);
|
239 |
}
|
240 |
if (!$io->rmdir($path, true)) {
|
241 |
+
Mage::throwException(Mage::helper('cms')->__('Cannot delete directory %s.', $io->getFilteredPath($path)));
|
242 |
}
|
243 |
|
244 |
if (strpos($pathCmp, $rootCmp) === 0) {
|
app/code/core/Mage/ConfigurableSwatches/Block/Catalog/Product/List/Price.php
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_ConfigurableSwatches
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
class Mage_ConfigurableSwatches_Block_Catalog_Product_List_Price extends Mage_Core_Block_Template
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* @var string
|
31 |
+
*/
|
32 |
+
protected $_template = 'configurableswatches/catalog/product/list/price/js.phtml';
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Get target product IDs from product collection
|
36 |
+
* which was set on block
|
37 |
+
*
|
38 |
+
* @return Mage_Eav_Model_Entity_Collection_Abstract
|
39 |
+
*/
|
40 |
+
protected function getProducts()
|
41 |
+
{
|
42 |
+
return $this->getProductCollection();
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Get configuration for configurable swatches price change
|
47 |
+
*
|
48 |
+
* @return string
|
49 |
+
*/
|
50 |
+
public function getJsonConfig()
|
51 |
+
{
|
52 |
+
/** @var Mage_Catalog_Helper_Product_Type_Composite $compositeProductHelper */
|
53 |
+
$compositeProductHelper = $this->helper('catalog/product_type_composite');
|
54 |
+
|
55 |
+
$config = array(
|
56 |
+
'generalConfig' => $compositeProductHelper->prepareJsonGeneralConfig()
|
57 |
+
);
|
58 |
+
foreach ($this->getProducts() as $product) {
|
59 |
+
/** @var $product Mage_Catalog_Model_Product */
|
60 |
+
if (!$product->getSwatchPrices()) {
|
61 |
+
continue;
|
62 |
+
}
|
63 |
+
|
64 |
+
$config['products'][$product->getId()] = $compositeProductHelper->prepareJsonProductConfig($product);
|
65 |
+
$config['products'][$product->getId()]['swatchPrices'] = $product->getSwatchPrices();
|
66 |
+
|
67 |
+
$responseObject = new Varien_Object();
|
68 |
+
Mage::dispatchEvent('catalog_product_view_config', array(
|
69 |
+
'response_object' => $responseObject,
|
70 |
+
'product' => $product,
|
71 |
+
));
|
72 |
+
if (is_array($responseObject->getAdditionalOptions())) {
|
73 |
+
foreach ($responseObject->getAdditionalOptions() as $option => $value) {
|
74 |
+
$config['products'][$product->getId()][$option] = $value;
|
75 |
+
}
|
76 |
+
}
|
77 |
+
}
|
78 |
+
return $this->helper('core')->jsonEncode($config);
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Disable output if all preconditions doesn't meet
|
83 |
+
*
|
84 |
+
* @return string
|
85 |
+
*/
|
86 |
+
protected function _toHtml()
|
87 |
+
{
|
88 |
+
if (!$this->helper('configurableswatches/list_price')->isEnabled()) {
|
89 |
+
return '';
|
90 |
+
}
|
91 |
+
|
92 |
+
return parent::_toHtml();
|
93 |
+
}
|
94 |
+
|
95 |
+
}
|
app/code/core/Mage/ConfigurableSwatches/Helper/Data.php
CHANGED
@@ -92,7 +92,10 @@ class Mage_ConfigurableSwatches_Helper_Data extends Mage_Core_Helper_Abstract
|
|
92 |
public function getSwatchAttributeIds()
|
93 |
{
|
94 |
if (is_null($this->_configAttributeIds)) {
|
95 |
-
$this->_configAttributeIds =
|
|
|
|
|
|
|
96 |
}
|
97 |
return $this->_configAttributeIds;
|
98 |
}
|
@@ -111,4 +114,27 @@ class Mage_ConfigurableSwatches_Helper_Data extends Mage_Core_Helper_Abstract
|
|
111 |
$configAttrs = $this->getSwatchAttributeIds();
|
112 |
return in_array($attr, $configAttrs);
|
113 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
}
|
92 |
public function getSwatchAttributeIds()
|
93 |
{
|
94 |
if (is_null($this->_configAttributeIds)) {
|
95 |
+
$this->_configAttributeIds = array();
|
96 |
+
if (Mage::getStoreConfig(self::CONFIG_PATH_SWATCH_ATTRIBUTES)) {
|
97 |
+
$this->_configAttributeIds = explode(',', Mage::getStoreConfig(self::CONFIG_PATH_SWATCH_ATTRIBUTES));
|
98 |
+
}
|
99 |
}
|
100 |
return $this->_configAttributeIds;
|
101 |
}
|
114 |
$configAttrs = $this->getSwatchAttributeIds();
|
115 |
return in_array($attr, $configAttrs);
|
116 |
}
|
117 |
+
|
118 |
+
/**
|
119 |
+
* Get swatches product javascript
|
120 |
+
*
|
121 |
+
* @return string
|
122 |
+
*/
|
123 |
+
public function getSwatchesProductJs()
|
124 |
+
{
|
125 |
+
/**
|
126 |
+
* @var $product Mage_Catalog_Model_Product
|
127 |
+
*/
|
128 |
+
$product = Mage::registry('current_product');
|
129 |
+
if ($this->isEnabled() && $product) {
|
130 |
+
$configAttrs = $this->getSwatchAttributeIds();
|
131 |
+
$configurableAttributes = $product->getTypeInstance(true)->getConfigurableAttributesAsArray($product);
|
132 |
+
foreach ($configurableAttributes as $configurableAttribute) {
|
133 |
+
if (in_array($configurableAttribute['attribute_id'], $configAttrs)) {
|
134 |
+
return 'js/configurableswatches/swatches-product.js';
|
135 |
+
}
|
136 |
+
}
|
137 |
+
}
|
138 |
+
return '';
|
139 |
+
}
|
140 |
}
|
app/code/core/Mage/ConfigurableSwatches/Helper/List/Price.php
ADDED
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_ConfigurableSwatches
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Class implementing price change for swatches in product listing pages
|
29 |
+
*/
|
30 |
+
class Mage_ConfigurableSwatches_Helper_List_Price extends Mage_Core_Helper_Abstract
|
31 |
+
{
|
32 |
+
/**
|
33 |
+
* Path to to check is it required to change prices
|
34 |
+
*/
|
35 |
+
const XML_PATH_SWATCH_PRICE = 'configswatches/general/product_list_price_change';
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Set swatch_price on products where swatch option_id is set
|
39 |
+
* Depends on following product data:
|
40 |
+
* - product must have children products attached and be configurable by type
|
41 |
+
*
|
42 |
+
* @param array $products
|
43 |
+
* @param int $storeId
|
44 |
+
* @return void
|
45 |
+
*/
|
46 |
+
public function attachConfigurableProductChildrenPricesMapping(array $products, $storeId = null)
|
47 |
+
{
|
48 |
+
$listSwatchAttrId = Mage::helper('configurableswatches/productlist')->getSwatchAttributeId();
|
49 |
+
$result = array();
|
50 |
+
|
51 |
+
foreach ($products as $product) {
|
52 |
+
/** @var $product Mage_Catalog_Model_Product */
|
53 |
+
if ($product->getTypeId() !== Mage_Catalog_Model_Product_Type_Configurable::TYPE_CODE
|
54 |
+
&& !is_array($product->getChildrenProducts())
|
55 |
+
) {
|
56 |
+
continue;
|
57 |
+
}
|
58 |
+
|
59 |
+
/** @var Mage_Catalog_Model_Product_Type_Configurable $typeInstance */
|
60 |
+
$typeInstance = $product->getTypeInstance();
|
61 |
+
$allowedAttributes = $typeInstance->getConfigurableAttributeCollection($product);
|
62 |
+
foreach ($allowedAttributes as $attribute) {
|
63 |
+
/** @var $attribute Mage_Catalog_Model_Product_Type_Configurable_Attribute */
|
64 |
+
if ($attribute->getAttributeId() !== $listSwatchAttrId) {
|
65 |
+
continue;
|
66 |
+
}
|
67 |
+
|
68 |
+
foreach ($attribute->getPrices() as $attributePrice) {
|
69 |
+
$product->setConfigurablePrice(
|
70 |
+
$this->_getHelper()->preparePrice(
|
71 |
+
$product,
|
72 |
+
$attributePrice['pricing_value'],
|
73 |
+
$attributePrice['is_percent'],
|
74 |
+
$storeId
|
75 |
+
)
|
76 |
+
);
|
77 |
+
Mage::dispatchEvent(
|
78 |
+
'catalog_product_type_configurable_price',
|
79 |
+
array('product' => $product)
|
80 |
+
);
|
81 |
+
$configurablePrice = $product->getConfigurablePrice();
|
82 |
+
$cofigurableSwatchesHelper = Mage::helper('configurableswatches');
|
83 |
+
$result[$cofigurableSwatchesHelper::normalizeKey($attributePrice['store_label'])] = array(
|
84 |
+
'price' => $configurablePrice,
|
85 |
+
'oldPrice' => $this->_getHelper()->prepareOldPrice(
|
86 |
+
$product,
|
87 |
+
$attributePrice['pricing_value'],
|
88 |
+
$attributePrice['is_percent'],
|
89 |
+
$storeId
|
90 |
+
),
|
91 |
+
);
|
92 |
+
}
|
93 |
+
}
|
94 |
+
$product->setSwatchPrices($result);
|
95 |
+
}
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* Get helper for calculation purposes
|
100 |
+
*
|
101 |
+
* @return Mage_Catalog_Helper_Product_Type_Composite
|
102 |
+
*/
|
103 |
+
protected function _getHelper()
|
104 |
+
{
|
105 |
+
return Mage::helper('catalog/product_type_composite');
|
106 |
+
}
|
107 |
+
|
108 |
+
/**
|
109 |
+
* Check if option for swatches price change is enabled
|
110 |
+
*
|
111 |
+
* @return bool
|
112 |
+
*/
|
113 |
+
public function isEnabled()
|
114 |
+
{
|
115 |
+
return Mage::getStoreConfigFlag(self::XML_PATH_SWATCH_PRICE);
|
116 |
+
}
|
117 |
+
|
118 |
+
}
|
app/code/core/Mage/ConfigurableSwatches/Helper/Mediafallback.php
CHANGED
@@ -37,12 +37,39 @@ class Mage_ConfigurableSwatches_Helper_Mediafallback extends Mage_Core_Helper_Ab
|
|
37 |
* - product must have children products attached
|
38 |
*
|
39 |
* @param array $parentProducts
|
|
|
40 |
* @param $storeId
|
41 |
* @return void
|
42 |
*/
|
43 |
public function attachConfigurableProductChildrenAttributeMapping(array $parentProducts, $storeId)
|
44 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
$listSwatchAttr = Mage::helper('configurableswatches/productlist')->getSwatchAttribute();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
|
47 |
$parentProductIds = array();
|
48 |
/* @var $parentProduct Mage_Catalog_Model_Product */
|
@@ -53,6 +80,7 @@ class Mage_ConfigurableSwatches_Helper_Mediafallback extends Mage_Core_Helper_Ab
|
|
53 |
$configAttributes = Mage::getResourceModel('configurableswatches/catalog_product_attribute_super_collection')
|
54 |
->addParentProductsFilter($parentProductIds)
|
55 |
->attachEavAttributes()
|
|
|
56 |
->setStoreId($storeId)
|
57 |
;
|
58 |
|
@@ -61,9 +89,15 @@ class Mage_ConfigurableSwatches_Helper_Mediafallback extends Mage_Core_Helper_Ab
|
|
61 |
$optionLabels += $attribute->getOptionLabels();
|
62 |
}
|
63 |
|
|
|
|
|
|
|
|
|
|
|
64 |
foreach ($parentProducts as $parentProduct) {
|
65 |
$mapping = array();
|
66 |
$listSwatchValues = array();
|
|
|
67 |
|
68 |
/* @var $attribute Mage_Catalog_Model_Product_Type_Configurable_Attribute */
|
69 |
foreach ($configAttributes as $attribute) {
|
@@ -74,8 +108,10 @@ class Mage_ConfigurableSwatches_Helper_Mediafallback extends Mage_Core_Helper_Ab
|
|
74 |
|
75 |
foreach ($parentProduct->getChildrenProducts() as $childProduct) {
|
76 |
|
77 |
-
// product has no value for attribute, we can't process it
|
78 |
-
|
|
|
|
|
79 |
continue;
|
80 |
}
|
81 |
$optionId = $childProduct->getData($attribute->getAttributeCode());
|
@@ -85,11 +121,6 @@ class Mage_ConfigurableSwatches_Helper_Mediafallback extends Mage_Core_Helper_Ab
|
|
85 |
continue;
|
86 |
}
|
87 |
|
88 |
-
// normalize to all lower case before we start using them
|
89 |
-
$optionLabels = array_map(function ($value) {
|
90 |
-
return array_map('Mage_ConfigurableSwatches_Helper_Data::normalizeKey', $value);
|
91 |
-
}, $optionLabels);
|
92 |
-
|
93 |
// using default value as key unless store-specific label is present
|
94 |
$optionLabel = $optionLabels[$optionId][0];
|
95 |
if (isset($optionLabels[$optionId][$storeId])) {
|
@@ -110,7 +141,8 @@ class Mage_ConfigurableSwatches_Helper_Mediafallback extends Mage_Core_Helper_Ab
|
|
110 |
if ($attribute->getAttributeId() == $listSwatchAttr->getAttributeId()
|
111 |
&& !in_array($mapping[$optionLabel]['label'], $listSwatchValues)
|
112 |
) {
|
113 |
-
$listSwatchValues[$optionId]
|
|
|
114 |
}
|
115 |
} // end looping child products
|
116 |
} // end looping attributes
|
@@ -120,8 +152,13 @@ class Mage_ConfigurableSwatches_Helper_Mediafallback extends Mage_Core_Helper_Ab
|
|
120 |
$mapping[$key]['product_ids'] = array_unique($mapping[$key]['product_ids']);
|
121 |
}
|
122 |
|
|
|
|
|
|
|
|
|
123 |
$parentProduct->setChildAttributeLabelMapping($mapping)
|
124 |
-
->setListSwatchAttrValues($listSwatchValues)
|
|
|
125 |
} // end looping parent products
|
126 |
}
|
127 |
|
@@ -201,7 +238,12 @@ class Mage_ConfigurableSwatches_Helper_Mediafallback extends Mage_Core_Helper_Ab
|
|
201 |
/* @var $childProduct Mage_Catalog_Model_Product */
|
202 |
if ($product->hasChildrenProducts()) {
|
203 |
foreach ($product->getChildrenProducts() as $childProduct) {
|
204 |
-
|
|
|
|
|
|
|
|
|
|
|
205 |
$imagesByType[$imageType][$childProduct->getId()] = $image;
|
206 |
}
|
207 |
}
|
37 |
* - product must have children products attached
|
38 |
*
|
39 |
* @param array $parentProducts
|
40 |
+
* @deprecated use $this->attachProductChildrenAttributeMapping() instead
|
41 |
* @param $storeId
|
42 |
* @return void
|
43 |
*/
|
44 |
public function attachConfigurableProductChildrenAttributeMapping(array $parentProducts, $storeId)
|
45 |
{
|
46 |
+
return $this->attachProductChildrenAttributeMapping($parentProducts, $storeId);
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Set child_attribute_label_mapping on products with attribute label -> product mapping
|
51 |
+
* Depends on following product data:
|
52 |
+
* - product must have children products attached
|
53 |
+
*
|
54 |
+
* @param array $parentProducts
|
55 |
+
* @param $storeId
|
56 |
+
* @param bool $onlyListAttributes
|
57 |
+
* @return void
|
58 |
+
*/
|
59 |
+
public function attachProductChildrenAttributeMapping(array $parentProducts, $storeId, $onlyListAttributes = false)
|
60 |
+
{
|
61 |
+
/** @var $listSwatchAttr Mage_Eav_Model_Attribute */
|
62 |
$listSwatchAttr = Mage::helper('configurableswatches/productlist')->getSwatchAttribute();
|
63 |
+
$swatchAttributeIds = array();
|
64 |
+
if (!$onlyListAttributes) {
|
65 |
+
$swatchAttributeIds = Mage::helper('configurableswatches')->getSwatchAttributeIds();
|
66 |
+
}
|
67 |
+
if ($listSwatchAttr->getId()) {
|
68 |
+
$swatchAttributeIds[] = $listSwatchAttr->getId();
|
69 |
+
}
|
70 |
+
if (empty($swatchAttributeIds)) {
|
71 |
+
return;
|
72 |
+
}
|
73 |
|
74 |
$parentProductIds = array();
|
75 |
/* @var $parentProduct Mage_Catalog_Model_Product */
|
80 |
$configAttributes = Mage::getResourceModel('configurableswatches/catalog_product_attribute_super_collection')
|
81 |
->addParentProductsFilter($parentProductIds)
|
82 |
->attachEavAttributes()
|
83 |
+
->addFieldToFilter('eav_attributes.attribute_id', array('in' => $swatchAttributeIds))
|
84 |
->setStoreId($storeId)
|
85 |
;
|
86 |
|
89 |
$optionLabels += $attribute->getOptionLabels();
|
90 |
}
|
91 |
|
92 |
+
// normalize to all lower case before we start using them
|
93 |
+
$optionLabels = array_map(function ($value) {
|
94 |
+
return array_map('Mage_ConfigurableSwatches_Helper_Data::normalizeKey', $value);
|
95 |
+
}, $optionLabels);
|
96 |
+
|
97 |
foreach ($parentProducts as $parentProduct) {
|
98 |
$mapping = array();
|
99 |
$listSwatchValues = array();
|
100 |
+
$listSwatchStockValues = array();
|
101 |
|
102 |
/* @var $attribute Mage_Catalog_Model_Product_Type_Configurable_Attribute */
|
103 |
foreach ($configAttributes as $attribute) {
|
108 |
|
109 |
foreach ($parentProduct->getChildrenProducts() as $childProduct) {
|
110 |
|
111 |
+
// product has no value for attribute or not available, we can't process it
|
112 |
+
$isInStock = $childProduct->getStockItem()->getIsInStock();
|
113 |
+
if (!$childProduct->hasData($attribute->getAttributeCode())
|
114 |
+
|| (!$isInStock && !Mage::helper('cataloginventory')->isShowOutOfStock())) {
|
115 |
continue;
|
116 |
}
|
117 |
$optionId = $childProduct->getData($attribute->getAttributeCode());
|
121 |
continue;
|
122 |
}
|
123 |
|
|
|
|
|
|
|
|
|
|
|
124 |
// using default value as key unless store-specific label is present
|
125 |
$optionLabel = $optionLabels[$optionId][0];
|
126 |
if (isset($optionLabels[$optionId][$storeId])) {
|
141 |
if ($attribute->getAttributeId() == $listSwatchAttr->getAttributeId()
|
142 |
&& !in_array($mapping[$optionLabel]['label'], $listSwatchValues)
|
143 |
) {
|
144 |
+
$listSwatchValues[$optionId] = $mapping[$optionLabel]['label'];
|
145 |
+
$listSwatchStockValues[$optionId] = $isInStock;
|
146 |
}
|
147 |
} // end looping child products
|
148 |
} // end looping attributes
|
152 |
$mapping[$key]['product_ids'] = array_unique($mapping[$key]['product_ids']);
|
153 |
}
|
154 |
|
155 |
+
if (count($listSwatchValues)) {
|
156 |
+
$listSwatchValues = array_replace(array_intersect_key($optionLabels, $listSwatchValues),
|
157 |
+
$listSwatchValues);
|
158 |
+
}
|
159 |
$parentProduct->setChildAttributeLabelMapping($mapping)
|
160 |
+
->setListSwatchAttrValues($listSwatchValues)
|
161 |
+
->setListSwatchAttrStockValues($listSwatchStockValues);
|
162 |
} // end looping parent products
|
163 |
}
|
164 |
|
238 |
/* @var $childProduct Mage_Catalog_Model_Product */
|
239 |
if ($product->hasChildrenProducts()) {
|
240 |
foreach ($product->getChildrenProducts() as $childProduct) {
|
241 |
+
$image = $this->_resizeProductImage($childProduct, $imageType, $keepFrame);
|
242 |
+
if (!$image) {
|
243 |
+
$image = $this->_resizeProductImage($childProduct, 'image', $keepFrame);
|
244 |
+
}
|
245 |
+
|
246 |
+
if ($image) {
|
247 |
$imagesByType[$imageType][$childProduct->getId()] = $image;
|
248 |
}
|
249 |
}
|
app/code/core/Mage/ConfigurableSwatches/Model/Observer.php
CHANGED
@@ -37,8 +37,11 @@ class Mage_ConfigurableSwatches_Model_Observer extends Mage_Core_Model_Abstract
|
|
37 |
return; // exit without loading swatch functionality
|
38 |
}
|
39 |
|
40 |
-
/* @var $
|
41 |
-
$
|
|
|
|
|
|
|
42 |
|
43 |
/* @var $collection Mage_Catalog_Model_Resource_Product_Collection */
|
44 |
$collection = $observer->getCollection();
|
@@ -51,15 +54,19 @@ class Mage_ConfigurableSwatches_Model_Observer extends Mage_Core_Model_Abstract
|
|
51 |
|
52 |
$products = $collection->getItems();
|
53 |
|
54 |
-
$
|
55 |
|
56 |
-
$
|
|
|
|
|
|
|
|
|
57 |
|
58 |
-
$
|
59 |
|
60 |
/* @var $product Mage_Catalog_Model_Product */
|
61 |
foreach ($products as $product) {
|
62 |
-
$
|
63 |
Mage::helper('configurableswatches/productimg')
|
64 |
->indexProductImages($product, $product->getListSwatchAttrValues());
|
65 |
}
|
@@ -90,7 +97,7 @@ class Mage_ConfigurableSwatches_Model_Observer extends Mage_Core_Model_Abstract
|
|
90 |
|
91 |
$helper->groupMediaGalleryImages($product);
|
92 |
|
93 |
-
$helper->
|
94 |
}
|
95 |
|
96 |
/**
|
37 |
return; // exit without loading swatch functionality
|
38 |
}
|
39 |
|
40 |
+
/* @var $mediaHelper Mage_ConfigurableSwatches_Helper_Mediafallback */
|
41 |
+
$mediaHelper = Mage::helper('configurableswatches/mediafallback');
|
42 |
+
|
43 |
+
/** @var $priceHelper Mage_ConfigurableSwatches_Helper_List_Price */
|
44 |
+
$priceHelper = Mage::helper('configurableswatches/list_price');
|
45 |
|
46 |
/* @var $collection Mage_Catalog_Model_Resource_Product_Collection */
|
47 |
$collection = $observer->getCollection();
|
54 |
|
55 |
$products = $collection->getItems();
|
56 |
|
57 |
+
$mediaHelper->attachChildrenProducts($products, $collection->getStoreId());
|
58 |
|
59 |
+
$mediaHelper->attachProductChildrenAttributeMapping($products, $collection->getStoreId());
|
60 |
+
|
61 |
+
if ($priceHelper->isEnabled()) {
|
62 |
+
$priceHelper->attachConfigurableProductChildrenPricesMapping($products, $collection->getStoreId());
|
63 |
+
}
|
64 |
|
65 |
+
$mediaHelper->attachGallerySetToCollection($products, $collection->getStoreId());
|
66 |
|
67 |
/* @var $product Mage_Catalog_Model_Product */
|
68 |
foreach ($products as $product) {
|
69 |
+
$mediaHelper->groupMediaGalleryImages($product);
|
70 |
Mage::helper('configurableswatches/productimg')
|
71 |
->indexProductImages($product, $product->getListSwatchAttrValues());
|
72 |
}
|
97 |
|
98 |
$helper->groupMediaGalleryImages($product);
|
99 |
|
100 |
+
$helper->attachProductChildrenAttributeMapping(array($product), $product->getStoreId(), false);
|
101 |
}
|
102 |
|
103 |
/**
|
app/code/core/Mage/ConfigurableSwatches/Model/Resource/Catalog/Product/Attribute/Super/Collection.php
CHANGED
@@ -99,40 +99,59 @@ class Mage_ConfigurableSwatches_Model_Resource_Catalog_Product_Attribute_Super_C
|
|
99 |
*/
|
100 |
protected function _loadOptionLabels()
|
101 |
{
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
array('attr' => $this->getTable('catalog/product_super_attribute')),
|
106 |
-
array(
|
107 |
-
'product_super_attribute_id' => 'attr.product_super_attribute_id',
|
108 |
-
))
|
109 |
-
->join(
|
110 |
-
array('opt' => $this->getTable('eav/attribute_option')),
|
111 |
-
'opt.attribute_id = attr.attribute_id',
|
112 |
-
array(
|
113 |
-
'attribute_id' => 'opt.attribute_id',
|
114 |
-
'option_id' => 'opt.option_id',
|
115 |
-
))
|
116 |
-
->join(
|
117 |
-
array('lab' => $this->getTable('eav/attribute_option_value')),
|
118 |
-
'lab.option_id = opt.option_id',
|
119 |
-
array(
|
120 |
-
'label' => 'lab.value',
|
121 |
-
'store_id' => 'lab.store_id',
|
122 |
-
))
|
123 |
-
->where('attr.product_super_attribute_id IN (?)', array_keys($this->_items))
|
124 |
-
;
|
125 |
-
|
126 |
-
$result = $this->getConnection()->fetchAll($select);
|
127 |
-
foreach ($result as $data) {
|
128 |
-
$item = $this->getItemById($data['product_super_attribute_id']);
|
129 |
-
if (!is_array($labels = $item->getOptionLabels())) {
|
130 |
-
$labels = array();
|
131 |
-
}
|
132 |
-
$labels[$data['option_id']][$data['store_id']] = $data['label'];
|
133 |
-
$item->setOptionLabels($labels);
|
134 |
-
}
|
135 |
}
|
136 |
return $this;
|
137 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
}
|
99 |
*/
|
100 |
protected function _loadOptionLabels()
|
101 |
{
|
102 |
+
$labels = $this->_getOptionLabels();
|
103 |
+
foreach ($this->getItems() as $item) {
|
104 |
+
$item->setOptionLabels($labels);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
}
|
106 |
return $this;
|
107 |
}
|
108 |
+
|
109 |
+
/**
|
110 |
+
* Get Option Labels
|
111 |
+
*
|
112 |
+
* @return array
|
113 |
+
*/
|
114 |
+
protected function _getOptionLabels()
|
115 |
+
{
|
116 |
+
$attributeIds = $this->_getAttributeIds();
|
117 |
+
|
118 |
+
$select = $this->getConnection()->select();
|
119 |
+
$select->from(array('options' => $this->getTable('eav/attribute_option')))
|
120 |
+
->join(
|
121 |
+
array('labels' => $this->getTable('eav/attribute_option_value')),
|
122 |
+
'labels.option_id = options.option_id',
|
123 |
+
array(
|
124 |
+
'label' => 'labels.value',
|
125 |
+
'store_id' => 'labels.store_id',
|
126 |
+
)
|
127 |
+
)
|
128 |
+
->where('options.attribute_id IN (?)', $attributeIds)
|
129 |
+
->where(
|
130 |
+
'labels.store_id IN (?)',
|
131 |
+
array(Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID, $this->getStoreId())
|
132 |
+
);
|
133 |
+
|
134 |
+
$resultSet = $this->getConnection()->query($select);
|
135 |
+
$labels = array();
|
136 |
+
while ($option = $resultSet->fetch()) {
|
137 |
+
$labels[$option['option_id']][$option['store_id']] = $option['label'];
|
138 |
+
}
|
139 |
+
return $labels;
|
140 |
+
}
|
141 |
+
|
142 |
+
/**
|
143 |
+
* Get Attribute IDs
|
144 |
+
*
|
145 |
+
* @return array
|
146 |
+
*/
|
147 |
+
protected function _getAttributeIds()
|
148 |
+
{
|
149 |
+
$attributeIds = array();
|
150 |
+
foreach ($this->getItems() as $item) {
|
151 |
+
$attributeIds[] = $item->getAttributeId();
|
152 |
+
}
|
153 |
+
$attributeIds = array_unique($attributeIds);
|
154 |
+
|
155 |
+
return $attributeIds;
|
156 |
+
}
|
157 |
}
|
app/code/core/Mage/ConfigurableSwatches/etc/system.xml
CHANGED
@@ -71,6 +71,15 @@
|
|
71 |
<show_in_website>1</show_in_website>
|
72 |
<show_in_store>1</show_in_store>
|
73 |
</product_list_attribute>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
</fields>
|
75 |
</general>
|
76 |
<product_detail_dimensions translate="label comment" module="configurableswatches">
|
71 |
<show_in_website>1</show_in_website>
|
72 |
<show_in_store>1</show_in_store>
|
73 |
</product_list_attribute>
|
74 |
+
<product_list_price_change translate="label" module="configurableswatches">
|
75 |
+
<label>Dynamic Price Change for Swatches in Product Listing</label>
|
76 |
+
<frontend_type>select</frontend_type>
|
77 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
78 |
+
<sort_order>40</sort_order>
|
79 |
+
<show_in_default>1</show_in_default>
|
80 |
+
<show_in_website>1</show_in_website>
|
81 |
+
<show_in_store>1</show_in_store>
|
82 |
+
</product_list_price_change>
|
83 |
</fields>
|
84 |
</general>
|
85 |
<product_detail_dimensions translate="label comment" module="configurableswatches">
|
app/code/core/Mage/Core/Block/Abstract.php
CHANGED
@@ -36,6 +36,10 @@
|
|
36 |
*/
|
37 |
abstract class Mage_Core_Block_Abstract extends Varien_Object
|
38 |
{
|
|
|
|
|
|
|
|
|
39 |
/**
|
40 |
* Cache group Tag
|
41 |
*/
|
@@ -1289,7 +1293,13 @@ abstract class Mage_Core_Block_Abstract extends Varien_Object
|
|
1289 |
public function getCacheKey()
|
1290 |
{
|
1291 |
if ($this->hasData('cache_key')) {
|
1292 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1293 |
}
|
1294 |
/**
|
1295 |
* don't prevent recalculation by saving generated cache key
|
36 |
*/
|
37 |
abstract class Mage_Core_Block_Abstract extends Varien_Object
|
38 |
{
|
39 |
+
/**
|
40 |
+
* Prefix for cache key
|
41 |
+
*/
|
42 |
+
const CACHE_KEY_PREFIX = 'BLOCK_';
|
43 |
/**
|
44 |
* Cache group Tag
|
45 |
*/
|
1293 |
public function getCacheKey()
|
1294 |
{
|
1295 |
if ($this->hasData('cache_key')) {
|
1296 |
+
$cacheKey = $this->getData('cache_key');
|
1297 |
+
if (strpos($cacheKey, self::CACHE_KEY_PREFIX) !== 0) {
|
1298 |
+
$cacheKey = self::CACHE_KEY_PREFIX . $cacheKey;
|
1299 |
+
$this->setData('cache_key', $cacheKey);
|
1300 |
+
}
|
1301 |
+
|
1302 |
+
return $cacheKey;
|
1303 |
}
|
1304 |
/**
|
1305 |
* don't prevent recalculation by saving generated cache key
|
app/code/core/Mage/Core/Block/Template.php
CHANGED
@@ -212,7 +212,7 @@ class Mage_Core_Block_Template extends Mage_Core_Block_Abstract
|
|
212 |
|
213 |
// EXTR_SKIP protects from overriding
|
214 |
// already defined variables
|
215 |
-
extract
|
216 |
$do = $this->getDirectOutput();
|
217 |
|
218 |
if (!$do) {
|
212 |
|
213 |
// EXTR_SKIP protects from overriding
|
214 |
// already defined variables
|
215 |
+
extract($this->_viewVars, EXTR_SKIP);
|
216 |
$do = $this->getDirectOutput();
|
217 |
|
218 |
if (!$do) {
|
app/code/core/Mage/Core/Controller/Varien/Action.php
CHANGED
@@ -1054,6 +1054,7 @@ abstract class Mage_Core_Controller_Varien_Action
|
|
1054 |
return $this;
|
1055 |
}
|
1056 |
if ($content['type'] == 'filename') {
|
|
|
1057 |
$isFile = true;
|
1058 |
$file = $content['value'];
|
1059 |
$contentLength = filesize($file);
|
1054 |
return $this;
|
1055 |
}
|
1056 |
if ($content['type'] == 'filename') {
|
1057 |
+
clearstatcache();
|
1058 |
$isFile = true;
|
1059 |
$file = $content['value'];
|
1060 |
$contentLength = filesize($file);
|
app/code/core/Mage/Core/Helper/String.php
CHANGED
@@ -172,6 +172,13 @@ class Mage_Core_Helper_String extends Mage_Core_Helper_Abstract
|
|
172 |
// trim
|
173 |
if ($trim) {
|
174 |
$str = trim(preg_replace('/\s{2,}/siu', ' ', $str));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
}
|
176 |
// do a usual str_split, but safe for our encoding
|
177 |
if ((!$keepWords) || ($length < 2)) {
|
@@ -194,7 +201,14 @@ class Mage_Core_Helper_String extends Mage_Core_Helper_Abstract
|
|
194 |
$space = ' ';
|
195 |
$spaceLen = 1;
|
196 |
}
|
197 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
$currentLength = 0;
|
199 |
$result[$i] = '';
|
200 |
$space = '';
|
@@ -476,4 +490,30 @@ class Mage_Core_Helper_String extends Mage_Core_Helper_Abstract
|
|
476 |
return $this->_arrayHelper;
|
477 |
}
|
478 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
479 |
}
|
172 |
// trim
|
173 |
if ($trim) {
|
174 |
$str = trim(preg_replace('/\s{2,}/siu', ' ', $str));
|
175 |
+
/**
|
176 |
+
* In cases like:
|
177 |
+
* Mage::helper('core/string')->str_split('0 1 2 ', 2, false, true);
|
178 |
+
* the result array have elements with boolean "false" value.
|
179 |
+
* So it fixed by
|
180 |
+
*/
|
181 |
+
$strlen = $this->strlen($str);
|
182 |
}
|
183 |
// do a usual str_split, but safe for our encoding
|
184 |
if ((!$keepWords) || ($length < 2)) {
|
201 |
$space = ' ';
|
202 |
$spaceLen = 1;
|
203 |
}
|
204 |
+
/**
|
205 |
+
* The empty($result[$i]) is not appropriate, because in case with empty("0") expression returns "true",
|
206 |
+
* so in cases when string have "0" symbol, the "0" will lost.
|
207 |
+
* Try Mage::helper('core/string')->str_split("0 aa", 2, true);
|
208 |
+
* Therefore the empty($result[$i]) expression
|
209 |
+
* replaced by !isset($result[$i]) || isset($result[$i]) && $result[$i] === ''
|
210 |
+
*/
|
211 |
+
if (!isset($result[$i]) || isset($result[$i]) && $result[$i] === '') {
|
212 |
$currentLength = 0;
|
213 |
$result[$i] = '';
|
214 |
$space = '';
|
490 |
return $this->_arrayHelper;
|
491 |
}
|
492 |
|
493 |
+
/**
|
494 |
+
* Unicode compatible ord() method
|
495 |
+
*
|
496 |
+
* @param string $c char to get value from
|
497 |
+
* @return integer
|
498 |
+
*/
|
499 |
+
public function uniOrd($c)
|
500 |
+
{
|
501 |
+
$ord = 0;
|
502 |
+
$h = ord($c[0]);
|
503 |
+
|
504 |
+
if ($h <= 0x7F) {
|
505 |
+
$ord = $h;
|
506 |
+
} else if ($h < 0xC2) {
|
507 |
+
$ord = 0;
|
508 |
+
} else if ($h <= 0xDF) {
|
509 |
+
$ord = (($h & 0x1F) << 6 | (ord($c[1]) & 0x3F));
|
510 |
+
} else if ($h <= 0xEF) {
|
511 |
+
$ord = (($h & 0x0F) << 12 | (ord($c[1]) & 0x3F) << 6 | (ord($c[2]) & 0x3F));
|
512 |
+
} else if ($h <= 0xF4) {
|
513 |
+
$ord = (($h & 0x0F) << 18 | (ord($c[1]) & 0x3F) << 12 |
|
514 |
+
(ord($c[2]) & 0x3F) << 6 | (ord($c[3]) & 0x3F));
|
515 |
+
}
|
516 |
+
|
517 |
+
return $ord;
|
518 |
+
}
|
519 |
}
|
app/code/core/Mage/Core/Helper/Url.php
CHANGED
@@ -51,7 +51,7 @@ class Mage_Core_Helper_Url extends Mage_Core_Helper_Abstract
|
|
51 |
$port = (in_array($port, $defaultPorts)) ? '' : ':' . $port;
|
52 |
}
|
53 |
$url = $request->getScheme() . '://' . $request->getHttpHost() . $port . $request->getServer('REQUEST_URI');
|
54 |
-
return $url;
|
55 |
// return $this->_getUrl('*/*/*', array('_current' => true, '_use_rewrite' => true));
|
56 |
}
|
57 |
|
51 |
$port = (in_array($port, $defaultPorts)) ? '' : ':' . $port;
|
52 |
}
|
53 |
$url = $request->getScheme() . '://' . $request->getHttpHost() . $port . $request->getServer('REQUEST_URI');
|
54 |
+
return $this->escapeUrl($url);
|
55 |
// return $this->_getUrl('*/*/*', array('_current' => true, '_use_rewrite' => true));
|
56 |
}
|
57 |
|
app/code/core/Mage/Core/Model/Config.php
CHANGED
@@ -256,6 +256,9 @@ class Mage_Core_Model_Config extends Mage_Core_Model_Config_Base
|
|
256 |
if ($cacheLoad) {
|
257 |
return $this;
|
258 |
}
|
|
|
|
|
|
|
259 |
$this->loadModules();
|
260 |
$this->loadDb();
|
261 |
$this->saveCache();
|
256 |
if ($cacheLoad) {
|
257 |
return $this;
|
258 |
}
|
259 |
+
|
260 |
+
$this->_useCache = false;
|
261 |
+
|
262 |
$this->loadModules();
|
263 |
$this->loadDb();
|
264 |
$this->saveCache();
|
app/code/core/Mage/Core/Model/Email/Queue.php
CHANGED
@@ -44,8 +44,6 @@
|
|
44 |
*
|
45 |
* @category Mage
|
46 |
* @package Mage_Core
|
47 |
-
* @copyright Copyright (c) 2011 Magento Inc. (http://www.magentocommerce.com)
|
48 |
-
* @license http://www.magentocommerce.com/license/enterprise-edition
|
49 |
*/
|
50 |
class Mage_Core_Model_Email_Queue extends Mage_Core_Model_Abstract
|
51 |
{
|
44 |
*
|
45 |
* @category Mage
|
46 |
* @package Mage_Core
|
|
|
|
|
47 |
*/
|
48 |
class Mage_Core_Model_Email_Queue extends Mage_Core_Model_Abstract
|
49 |
{
|
app/code/core/Mage/Core/Model/Email/Template.php
CHANGED
@@ -407,6 +407,7 @@ class Mage_Core_Model_Email_Template extends Mage_Core_Model_Email_Template_Abst
|
|
407 |
if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {
|
408 |
/** @var $emailQueue Mage_Core_Model_Email_Queue */
|
409 |
$emailQueue = $this->getQueue();
|
|
|
410 |
$emailQueue->setMessageBody($text);
|
411 |
$emailQueue->setMessageParameters(array(
|
412 |
'subject' => $subject,
|
407 |
if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {
|
408 |
/** @var $emailQueue Mage_Core_Model_Email_Queue */
|
409 |
$emailQueue = $this->getQueue();
|
410 |
+
$emailQueue->clearRecipients();
|
411 |
$emailQueue->setMessageBody($text);
|
412 |
$emailQueue->setMessageParameters(array(
|
413 |
'subject' => $subject,
|
app/code/core/Mage/Core/Model/Email/Template/Abstract.php
CHANGED
@@ -149,8 +149,7 @@ abstract class Mage_Core_Model_Email_Template_Abstract extends Mage_Core_Model_T
|
|
149 |
protected function _addEmailVariables($variables, $storeId)
|
150 |
{
|
151 |
if (!isset($variables['store'])) {
|
152 |
-
$store = Mage::app()->getStore($storeId);
|
153 |
-
$variables['store'] = $store;
|
154 |
}
|
155 |
if (!isset($variables['logo_url'])) {
|
156 |
$variables['logo_url'] = $this->_getLogoUrl($storeId);
|
@@ -158,35 +157,20 @@ abstract class Mage_Core_Model_Email_Template_Abstract extends Mage_Core_Model_T
|
|
158 |
if (!isset($variables['logo_alt'])) {
|
159 |
$variables['logo_alt'] = $this->_getLogoAlt($storeId);
|
160 |
}
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
Mage_Core_Model_Store::XML_PATH_STORE_STORE_PHONE,
|
176 |
-
$storeId
|
177 |
-
);
|
178 |
-
}
|
179 |
-
if (!isset($variables['store_hours'])) {
|
180 |
-
$variables['store_hours'] = Mage::getStoreConfig(
|
181 |
-
Mage_Core_Model_Store::XML_PATH_STORE_STORE_HOURS,
|
182 |
-
$storeId
|
183 |
-
);
|
184 |
-
}
|
185 |
-
if (!isset($variables['store_email'])) {
|
186 |
-
$variables['store_email'] = Mage::getStoreConfig(
|
187 |
-
Mage_Customer_Helper_Data::XML_PATH_SUPPORT_EMAIL,
|
188 |
-
$storeId
|
189 |
-
);
|
190 |
}
|
191 |
// If template is text mode, don't include styles
|
192 |
if (!$this->isPlain()) {
|
149 |
protected function _addEmailVariables($variables, $storeId)
|
150 |
{
|
151 |
if (!isset($variables['store'])) {
|
152 |
+
$variables['store'] = Mage::app()->getStore($storeId);
|
|
|
153 |
}
|
154 |
if (!isset($variables['logo_url'])) {
|
155 |
$variables['logo_url'] = $this->_getLogoUrl($storeId);
|
157 |
if (!isset($variables['logo_alt'])) {
|
158 |
$variables['logo_alt'] = $this->_getLogoAlt($storeId);
|
159 |
}
|
160 |
+
|
161 |
+
$defaultValuesMap = array(
|
162 |
+
"logo_width" => self::XML_PATH_DESIGN_EMAIL_LOGO_WIDTH,
|
163 |
+
"logo_height" => self::XML_PATH_DESIGN_EMAIL_LOGO_HEIGHT,
|
164 |
+
"phone" => Mage_Core_Model_Store::XML_PATH_STORE_STORE_PHONE,
|
165 |
+
"store_phone" => Mage_Core_Model_Store::XML_PATH_STORE_STORE_PHONE,
|
166 |
+
"store_hours" => Mage_Core_Model_Store::XML_PATH_STORE_STORE_HOURS,
|
167 |
+
"store_email" => Mage_Customer_Helper_Data::XML_PATH_SUPPORT_EMAIL,
|
168 |
+
);
|
169 |
+
|
170 |
+
foreach ($defaultValuesMap as $variableName => $configValue) {
|
171 |
+
if (!isset($variables[$variableName])) {
|
172 |
+
$variables[$variableName] = Mage::getStoreConfig($configValue, $storeId);
|
173 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
}
|
175 |
// If template is text mode, don't include styles
|
176 |
if (!$this->isPlain()) {
|
app/code/core/Mage/Core/Model/Encryption.php
CHANGED
@@ -98,9 +98,9 @@ class Mage_Core_Model_Encryption
|
|
98 |
$hashArr = explode(':', $hash);
|
99 |
switch (count($hashArr)) {
|
100 |
case 1:
|
101 |
-
return $this->hash($password)
|
102 |
case 2:
|
103 |
-
return $this->hash($hashArr[1] . $password)
|
104 |
}
|
105 |
Mage::throwException('Invalid hash.');
|
106 |
}
|
98 |
$hashArr = explode(':', $hash);
|
99 |
switch (count($hashArr)) {
|
100 |
case 1:
|
101 |
+
return hash_equals($this->hash($password), $hash);
|
102 |
case 2:
|
103 |
+
return hash_equals($this->hash($hashArr[1] . $password), $hashArr[0]);
|
104 |
}
|
105 |
Mage::throwException('Invalid hash.');
|
106 |
}
|
app/code/core/Mage/Core/Model/File/Storage/Abstract.php
CHANGED
@@ -74,12 +74,12 @@ abstract class Mage_Core_Model_File_Storage_Abstract extends Mage_Core_Model_Abs
|
|
74 |
{
|
75 |
$path = ltrim($path, '\\/');
|
76 |
$fullPath = $this->getMediaBaseDirectory() . DS . $path;
|
77 |
-
|
78 |
if (!file_exists($fullPath) || !is_file($fullPath)) {
|
79 |
-
Mage::throwException(Mage::helper('core')->__('File %s does not exist', $fullPath));
|
80 |
}
|
81 |
if (!is_readable($fullPath)) {
|
82 |
-
Mage::throwException(Mage::helper('core')->__('File %s is not readable', $fullPath));
|
83 |
}
|
84 |
|
85 |
$path = str_replace(array('/', '\\'), '/', $path);
|
74 |
{
|
75 |
$path = ltrim($path, '\\/');
|
76 |
$fullPath = $this->getMediaBaseDirectory() . DS . $path;
|
77 |
+
$io = new Varien_Io_File();
|
78 |
if (!file_exists($fullPath) || !is_file($fullPath)) {
|
79 |
+
Mage::throwException(Mage::helper('core')->__('File %s does not exist', $io->getFilteredPath($fullPath)));
|
80 |
}
|
81 |
if (!is_readable($fullPath)) {
|
82 |
+
Mage::throwException(Mage::helper('core')->__('File %s is not readable', $io->getFilteredPath($fullPath)));
|
83 |
}
|
84 |
|
85 |
$path = str_replace(array('/', '\\'), '/', $path);
|
app/code/core/Mage/Core/Model/File/Validator/AvailablePath.php
CHANGED
@@ -92,7 +92,7 @@ class Mage_Core_Model_File_Validator_AvailablePath extends Zend_Validate_Abstrac
|
|
92 |
/**
|
93 |
* Initialize message templates with translating
|
94 |
*
|
95 |
-
* @return
|
96 |
*/
|
97 |
protected function _initMessageTemplates()
|
98 |
{
|
@@ -114,7 +114,7 @@ class Mage_Core_Model_File_Validator_AvailablePath extends Zend_Validate_Abstrac
|
|
114 |
*
|
115 |
* @param array $paths All paths masks types.
|
116 |
* E.g.: array('available' => array(...), 'protected' => array(...))
|
117 |
-
* @return
|
118 |
*/
|
119 |
public function setPaths(array $paths)
|
120 |
{
|
@@ -131,7 +131,7 @@ class Mage_Core_Model_File_Validator_AvailablePath extends Zend_Validate_Abstrac
|
|
131 |
* Set protected paths masks
|
132 |
*
|
133 |
* @param array $paths
|
134 |
-
* @return
|
135 |
*/
|
136 |
public function setProtectedPaths(array $paths)
|
137 |
{
|
@@ -143,7 +143,7 @@ class Mage_Core_Model_File_Validator_AvailablePath extends Zend_Validate_Abstrac
|
|
143 |
* Add protected paths masks
|
144 |
*
|
145 |
* @param string|array $path
|
146 |
-
* @return
|
147 |
*/
|
148 |
public function addProtectedPath($path)
|
149 |
{
|
@@ -169,7 +169,7 @@ class Mage_Core_Model_File_Validator_AvailablePath extends Zend_Validate_Abstrac
|
|
169 |
* Set available paths masks
|
170 |
*
|
171 |
* @param array $paths
|
172 |
-
* @return
|
173 |
*/
|
174 |
public function setAvailablePaths(array $paths)
|
175 |
{
|
@@ -181,7 +181,7 @@ class Mage_Core_Model_File_Validator_AvailablePath extends Zend_Validate_Abstrac
|
|
181 |
* Add available paths mask
|
182 |
*
|
183 |
* @param string|array $path
|
184 |
-
* @return
|
185 |
*/
|
186 |
public function addAvailablePath($path)
|
187 |
{
|
92 |
/**
|
93 |
* Initialize message templates with translating
|
94 |
*
|
95 |
+
* @return Mage_Core_Model_File_Validator_AvailablePath
|
96 |
*/
|
97 |
protected function _initMessageTemplates()
|
98 |
{
|
114 |
*
|
115 |
* @param array $paths All paths masks types.
|
116 |
* E.g.: array('available' => array(...), 'protected' => array(...))
|
117 |
+
* @return Mage_Core_Model_File_Validator_AvailablePath
|
118 |
*/
|
119 |
public function setPaths(array $paths)
|
120 |
{
|
131 |
* Set protected paths masks
|
132 |
*
|
133 |
* @param array $paths
|
134 |
+
* @return Mage_Core_Model_File_Validator_AvailablePath
|
135 |
*/
|
136 |
public function setProtectedPaths(array $paths)
|
137 |
{
|
143 |
* Add protected paths masks
|
144 |
*
|
145 |
* @param string|array $path
|
146 |
+
* @return Mage_Core_Model_File_Validator_AvailablePath
|
147 |
*/
|
148 |
public function addProtectedPath($path)
|
149 |
{
|
169 |
* Set available paths masks
|
170 |
*
|
171 |
* @param array $paths
|
172 |
+
* @return Mage_Core_Model_File_Validator_AvailablePath
|
173 |
*/
|
174 |
public function setAvailablePaths(array $paths)
|
175 |
{
|
181 |
* Add available paths mask
|
182 |
*
|
183 |
* @param string|array $path
|
184 |
+
* @return Mage_Core_Model_File_Validator_AvailablePath
|
185 |
*/
|
186 |
public function addAvailablePath($path)
|
187 |
{
|
app/code/core/Mage/Core/Model/Input/Filter/MaliciousCode.php
CHANGED
@@ -65,7 +65,13 @@ class Mage_Core_Model_Input_Filter_MaliciousCode implements Zend_Filter_Interfac
|
|
65 |
*/
|
66 |
public function filter($value)
|
67 |
{
|
68 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
}
|
70 |
|
71 |
/**
|
65 |
*/
|
66 |
public function filter($value)
|
67 |
{
|
68 |
+
$result = false;
|
69 |
+
do {
|
70 |
+
$subject = $result ? $result : $value;
|
71 |
+
$result = preg_replace($this->_expressions, '', $subject, -1, $count);
|
72 |
+
} while ($count !== 0);
|
73 |
+
|
74 |
+
return $result;
|
75 |
}
|
76 |
|
77 |
/**
|
app/code/core/Mage/Core/Model/Layout.php
CHANGED
@@ -552,7 +552,7 @@ class Mage_Core_Model_Layout extends Varien_Simplexml_Config
|
|
552 |
$out = '';
|
553 |
if (!empty($this->_output)) {
|
554 |
foreach ($this->_output as $callback) {
|
555 |
-
$out .= $this->getBlock($callback[0])
|
556 |
}
|
557 |
}
|
558 |
|
552 |
$out = '';
|
553 |
if (!empty($this->_output)) {
|
554 |
foreach ($this->_output as $callback) {
|
555 |
+
$out .= $this->getBlock($callback[0])->{$callback[1]}();
|
556 |
}
|
557 |
}
|
558 |
|
app/code/core/Mage/Core/Model/Resource/Url/Rewrite.php
CHANGED
@@ -134,12 +134,12 @@ class Mage_Core_Model_Resource_Url_Rewrite extends Mage_Core_Model_Resource_Db_A
|
|
134 |
public function loadByRequestPath(Mage_Core_Model_Url_Rewrite $object, $path)
|
135 |
{
|
136 |
if (!is_array($path)) {
|
137 |
-
$path = array($path);
|
138 |
}
|
139 |
|
140 |
$pathBind = array();
|
141 |
foreach ($path as $key => $url) {
|
142 |
-
$pathBind['path' . $key] = $url;
|
143 |
}
|
144 |
// Form select
|
145 |
$adapter = $this->_getReadAdapter();
|
@@ -151,7 +151,7 @@ class Mage_Core_Model_Resource_Url_Rewrite extends Mage_Core_Model_Resource_Db_A
|
|
151 |
$items = $adapter->fetchAll($select, $pathBind);
|
152 |
|
153 |
// Go through all found records and choose one with lowest penalty - earlier path in array, concrete store
|
154 |
-
$mapPenalty = array_flip(array_values($path)); // we got mapping array(path => index), lower index - better
|
155 |
$currentPenalty = null;
|
156 |
$foundItem = null;
|
157 |
foreach ($items as $item) {
|
134 |
public function loadByRequestPath(Mage_Core_Model_Url_Rewrite $object, $path)
|
135 |
{
|
136 |
if (!is_array($path)) {
|
137 |
+
$path = array(strtolower($path));
|
138 |
}
|
139 |
|
140 |
$pathBind = array();
|
141 |
foreach ($path as $key => $url) {
|
142 |
+
$pathBind['path' . $key] = strtolower($url);
|
143 |
}
|
144 |
// Form select
|
145 |
$adapter = $this->_getReadAdapter();
|
151 |
$items = $adapter->fetchAll($select, $pathBind);
|
152 |
|
153 |
// Go through all found records and choose one with lowest penalty - earlier path in array, concrete store
|
154 |
+
$mapPenalty = array_change_key_case(array_flip(array_values($path))); // we got mapping array(path => index), lower index - better
|
155 |
$currentPenalty = null;
|
156 |
$foundItem = null;
|
157 |
foreach ($items as $item) {
|
app/code/core/Mage/Core/Model/Resource/Variable/Collection.php
CHANGED
@@ -84,7 +84,7 @@ class Mage_Core_Model_Resource_Variable_Collection extends Mage_Core_Model_Resou
|
|
84 |
->join(
|
85 |
array('value_table' => $this->getTable('core/variable_value')),
|
86 |
'value_table.variable_id = main_table.variable_id',
|
87 |
-
array('value_table.
|
88 |
$this->addFieldToFilter('value_table.store_id', array('eq' => $this->getStoreId()));
|
89 |
return $this;
|
90 |
}
|
84 |
->join(
|
85 |
array('value_table' => $this->getTable('core/variable_value')),
|
86 |
'value_table.variable_id = main_table.variable_id',
|
87 |
+
array('value_table.plain_value', 'value_table.html_value'));
|
88 |
$this->addFieldToFilter('value_table.store_id', array('eq' => $this->getStoreId()));
|
89 |
return $this;
|
90 |
}
|
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
CHANGED
@@ -32,6 +32,7 @@ class Mage_Core_Model_Session_Abstract_Varien extends Varien_Object
|
|
32 |
const VALIDATOR_HTTP_X_FORVARDED_FOR_KEY = 'http_x_forwarded_for';
|
33 |
const VALIDATOR_HTTP_VIA_KEY = 'http_via';
|
34 |
const VALIDATOR_REMOTE_ADDR_KEY = 'remote_addr';
|
|
|
35 |
const SECURE_COOKIE_CHECK_KEY = '_secure_cookie_check';
|
36 |
|
37 |
/**
|
@@ -377,6 +378,16 @@ class Mage_Core_Model_Session_Abstract_Varien extends Varien_Object
|
|
377 |
return true;
|
378 |
}
|
379 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
380 |
/**
|
381 |
* Retrieve skip User Agent validation strings (Flash etc)
|
382 |
*
|
@@ -446,6 +457,14 @@ class Mage_Core_Model_Session_Abstract_Varien extends Varien_Object
|
|
446 |
return false;
|
447 |
}
|
448 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
449 |
return true;
|
450 |
}
|
451 |
|
@@ -479,6 +498,8 @@ class Mage_Core_Model_Session_Abstract_Varien extends Varien_Object
|
|
479 |
$parts[self::VALIDATOR_HTTP_USER_AGENT_KEY] = (string)$_SERVER['HTTP_USER_AGENT'];
|
480 |
}
|
481 |
|
|
|
|
|
482 |
return $parts;
|
483 |
}
|
484 |
|
32 |
const VALIDATOR_HTTP_X_FORVARDED_FOR_KEY = 'http_x_forwarded_for';
|
33 |
const VALIDATOR_HTTP_VIA_KEY = 'http_via';
|
34 |
const VALIDATOR_REMOTE_ADDR_KEY = 'remote_addr';
|
35 |
+
const VALIDATOR_SESSION_EXPIRE_TIMESTAMP = 'session_expire_timestamp';
|
36 |
const SECURE_COOKIE_CHECK_KEY = '_secure_cookie_check';
|
37 |
|
38 |
/**
|
378 |
return true;
|
379 |
}
|
380 |
|
381 |
+
/**
|
382 |
+
* Use session expire timestamp in validator key
|
383 |
+
*
|
384 |
+
* @return bool
|
385 |
+
*/
|
386 |
+
public function useValidateSessionExpire()
|
387 |
+
{
|
388 |
+
return true;
|
389 |
+
}
|
390 |
+
|
391 |
/**
|
392 |
* Retrieve skip User Agent validation strings (Flash etc)
|
393 |
*
|
457 |
return false;
|
458 |
}
|
459 |
|
460 |
+
if ($this->useValidateSessionExpire()
|
461 |
+
&& $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] < time() ) {
|
462 |
+
return false;
|
463 |
+
} else {
|
464 |
+
$this->_data[self::VALIDATOR_KEY][self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP]
|
465 |
+
= $validatorData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP];
|
466 |
+
}
|
467 |
+
|
468 |
return true;
|
469 |
}
|
470 |
|
498 |
$parts[self::VALIDATOR_HTTP_USER_AGENT_KEY] = (string)$_SERVER['HTTP_USER_AGENT'];
|
499 |
}
|
500 |
|
501 |
+
$parts[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] = time() + $this->getCookie()->getLifetime();
|
502 |
+
|
503 |
return $parts;
|
504 |
}
|
505 |
|
app/code/core/Mage/Core/etc/config.xml
CHANGED
@@ -456,6 +456,14 @@
|
|
456 |
<public_files_valid_paths>
|
457 |
<protected>
|
458 |
<app>/app/*/*</app>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
459 |
</protected>
|
460 |
</public_files_valid_paths>
|
461 |
</file>
|
456 |
<public_files_valid_paths>
|
457 |
<protected>
|
458 |
<app>/app/*/*</app>
|
459 |
+
<dev>/dev/*/*</dev>
|
460 |
+
<downloader>/downloader/*/*</downloader>
|
461 |
+
<errors>/errors/*/*</errors>
|
462 |
+
<includes>/includes/*/*</includes>
|
463 |
+
<js>/js/*/*</js>
|
464 |
+
<lib>/lib/*/*</lib>
|
465 |
+
<shell>/shell/*/*</shell>
|
466 |
+
<skin>/skin/*/*</skin>
|
467 |
</protected>
|
468 |
</public_files_valid_paths>
|
469 |
</file>
|
app/code/core/Mage/Core/etc/jstranslator.xml
CHANGED
@@ -82,7 +82,7 @@
|
|
82 |
<message>Please use only visible characters and spaces.</message>
|
83 |
</validate-email-sender>
|
84 |
<validate-password translate="message" module="core">
|
85 |
-
<message>Please enter 6 or more characters
|
86 |
</validate-password>
|
87 |
<validate-admin-password translate="message" module="core">
|
88 |
<message>Please enter 7 or more characters. Password should contain both numeric and alphabetic characters.</message>
|
@@ -130,7 +130,7 @@
|
|
130 |
<message>Please select State/Province.</message>
|
131 |
</validate-state>
|
132 |
<validate-new-password translate="message" module="core">
|
133 |
-
<message>Please enter 6 or more characters
|
134 |
</validate-new-password>
|
135 |
<validate-greater-than-zero translate="message" module="core">
|
136 |
<message>Please enter a number greater than 0 in this field.</message>
|
82 |
<message>Please use only visible characters and spaces.</message>
|
83 |
</validate-email-sender>
|
84 |
<validate-password translate="message" module="core">
|
85 |
+
<message>Please enter 6 or more characters without leading or trailing spaces.</message>
|
86 |
</validate-password>
|
87 |
<validate-admin-password translate="message" module="core">
|
88 |
<message>Please enter 7 or more characters. Password should contain both numeric and alphabetic characters.</message>
|
130 |
<message>Please select State/Province.</message>
|
131 |
</validate-state>
|
132 |
<validate-new-password translate="message" module="core">
|
133 |
+
<message>Please enter 6 or more characters without leading or trailing spaces.</message>
|
134 |
</validate-new-password>
|
135 |
<validate-greater-than-zero translate="message" module="core">
|
136 |
<message>Please enter a number greater than 0 in this field.</message>
|
app/code/core/Mage/Core/etc/system.xml
CHANGED
@@ -1068,7 +1068,7 @@
|
|
1068 |
<show_in_store>0</show_in_store>
|
1069 |
</forgot_email_identity>
|
1070 |
<password_reset_link_expiration_period translate="label comment">
|
1071 |
-
<label>Recovery Link Expiration Period (
|
1072 |
<comment>Please enter a number 1 or greater in this field.</comment>
|
1073 |
<frontend_type>text</frontend_type>
|
1074 |
<validate>required-entry validate-digits validate-digits-range digits-range-1-</validate>
|
1068 |
<show_in_store>0</show_in_store>
|
1069 |
</forgot_email_identity>
|
1070 |
<password_reset_link_expiration_period translate="label comment">
|
1071 |
+
<label>Recovery Link Expiration Period (hours)</label>
|
1072 |
<comment>Please enter a number 1 or greater in this field.</comment>
|
1073 |
<frontend_type>text</frontend_type>
|
1074 |
<validate>required-entry validate-digits validate-digits-range digits-range-1-</validate>
|
app/code/core/Mage/Core/functions.php
CHANGED
@@ -375,3 +375,38 @@ if ( !function_exists('sys_get_temp_dir') ) {
|
|
375 |
}
|
376 |
}
|
377 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
375 |
}
|
376 |
}
|
377 |
}
|
378 |
+
|
379 |
+
if (!function_exists('hash_equals')) {
|
380 |
+
/**
|
381 |
+
* Compares two strings using the same time whether they're equal or not.
|
382 |
+
* A difference in length will leak
|
383 |
+
*
|
384 |
+
* @param string $known_string
|
385 |
+
* @param string $user_string
|
386 |
+
* @return boolean Returns true when the two strings are equal, false otherwise.
|
387 |
+
*/
|
388 |
+
function hash_equals($known_string, $user_string)
|
389 |
+
{
|
390 |
+
$result = 0;
|
391 |
+
|
392 |
+
if (!is_string($known_string)) {
|
393 |
+
trigger_error("hash_equals(): Expected known_string to be a string", E_USER_WARNING);
|
394 |
+
return false;
|
395 |
+
}
|
396 |
+
|
397 |
+
if (!is_string($user_string)) {
|
398 |
+
trigger_error("hash_equals(): Expected user_string to be a string", E_USER_WARNING);
|
399 |
+
return false;
|
400 |
+
}
|
401 |
+
|
402 |
+
if (strlen($known_string) != strlen($user_string)) {
|
403 |
+
return false;
|
404 |
+
}
|
405 |
+
|
406 |
+
for ($i = 0; $i < strlen($known_string); $i++) {
|
407 |
+
$result |= (ord($known_string[$i]) ^ ord($user_string[$i]));
|
408 |
+
}
|
409 |
+
|
410 |
+
return 0 === $result;
|
411 |
+
}
|
412 |
+
}
|
app/code/core/Mage/Cron/Model/Schedule.php
CHANGED
@@ -215,6 +215,10 @@ class Mage_Cron_Model_Schedule extends Mage_Core_Model_Abstract
|
|
215 |
*/
|
216 |
public function tryLockJob($oldStatus = self::STATUS_PENDING)
|
217 |
{
|
218 |
-
|
|
|
|
|
|
|
|
|
219 |
}
|
220 |
}
|
215 |
*/
|
216 |
public function tryLockJob($oldStatus = self::STATUS_PENDING)
|
217 |
{
|
218 |
+
$result = $this->_getResource()->trySetJobStatusAtomic($this->getId(), self::STATUS_RUNNING, $oldStatus);
|
219 |
+
if ($result) {
|
220 |
+
$this->setStatus(self::STATUS_RUNNING);
|
221 |
+
}
|
222 |
+
return $result;
|
223 |
}
|
224 |
}
|
app/code/core/Mage/Customer/Block/Address/Book.php
CHANGED
@@ -56,7 +56,8 @@ class Mage_Customer_Block_Address_Book extends Mage_Core_Block_Template
|
|
56 |
|
57 |
public function getDeleteUrl()
|
58 |
{
|
59 |
-
return $this->getUrl('customer/address/delete'
|
|
|
60 |
}
|
61 |
|
62 |
public function getAddressEditUrl($address)
|
56 |
|
57 |
public function getDeleteUrl()
|
58 |
{
|
59 |
+
return $this->getUrl('customer/address/delete',
|
60 |
+
array(Mage_Core_Model_Url::FORM_KEY => Mage::getSingleton('core/session')->getFormKey()));
|
61 |
}
|
62 |
|
63 |
public function getAddressEditUrl($address)
|
app/code/core/Mage/Customer/Helper/Data.php
CHANGED
@@ -85,6 +85,13 @@ class Mage_Customer_Helper_Data extends Mage_Core_Helper_Abstract
|
|
85 |
const XML_PATH_CUSTOMER_REQUIRE_ADMIN_USER_TO_CHANGE_USER_PASSWORD
|
86 |
= 'customer/password/require_admin_user_to_change_user_password';
|
87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
/**
|
89 |
* VAT class constants
|
90 |
*/
|
@@ -483,6 +490,36 @@ class Mage_Customer_Helper_Data extends Mage_Core_Helper_Abstract
|
|
483 |
return (int)Mage::getStoreConfig(Mage_Customer_Model_Group::XML_PATH_DEFAULT_ID, $store);
|
484 |
}
|
485 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
486 |
/**
|
487 |
* Retrieve customer group ID based on his VAT number
|
488 |
*
|
85 |
const XML_PATH_CUSTOMER_REQUIRE_ADMIN_USER_TO_CHANGE_USER_PASSWORD
|
86 |
= 'customer/password/require_admin_user_to_change_user_password';
|
87 |
|
88 |
+
/**
|
89 |
+
* Configuration path to password forgotten flow change
|
90 |
+
*/
|
91 |
+
const XML_PATH_CUSTOMER_FORGOT_PASSWORD_FLOW_SECURE = 'admin/security/forgot_password_flow_secure';
|
92 |
+
const XML_PATH_CUSTOMER_FORGOT_PASSWORD_EMAIL_TIMES = 'admin/security/forgot_password_email_times';
|
93 |
+
const XML_PATH_CUSTOMER_FORGOT_PASSWORD_IP_TIMES = 'admin/security/forgot_password_ip_times';
|
94 |
+
|
95 |
/**
|
96 |
* VAT class constants
|
97 |
*/
|
490 |
return (int)Mage::getStoreConfig(Mage_Customer_Model_Group::XML_PATH_DEFAULT_ID, $store);
|
491 |
}
|
492 |
|
493 |
+
/**
|
494 |
+
* Retrieve forgot password flow secure type
|
495 |
+
*
|
496 |
+
* @return int
|
497 |
+
*/
|
498 |
+
public function getCustomerForgotPasswordFlowSecure()
|
499 |
+
{
|
500 |
+
return (int)Mage::getStoreConfig(self::XML_PATH_CUSTOMER_FORGOT_PASSWORD_FLOW_SECURE);
|
501 |
+
}
|
502 |
+
|
503 |
+
/**
|
504 |
+
* Retrieve forgot password requests to times per 24 hours from 1 e-mail
|
505 |
+
*
|
506 |
+
* @return int
|
507 |
+
*/
|
508 |
+
public function getCustomerForgotPasswordEmailTimes()
|
509 |
+
{
|
510 |
+
return (int)Mage::getStoreConfig(self::XML_PATH_CUSTOMER_FORGOT_PASSWORD_EMAIL_TIMES);
|
511 |
+
}
|
512 |
+
|
513 |
+
/**
|
514 |
+
* Retrieve forgot password requests to times per hour from 1 IP
|
515 |
+
*
|
516 |
+
* @return int
|
517 |
+
*/
|
518 |
+
public function getCustomerForgotPasswordIpTimes()
|
519 |
+
{
|
520 |
+
return (int)Mage::getStoreConfig(self::XML_PATH_CUSTOMER_FORGOT_PASSWORD_IP_TIMES);
|
521 |
+
}
|
522 |
+
|
523 |
/**
|
524 |
* Retrieve customer group ID based on his VAT number
|
525 |
*
|
app/code/core/Mage/Customer/Model/Customer.php
CHANGED
@@ -46,6 +46,8 @@ class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
|
|
46 |
const XML_PATH_CONFIRM_EMAIL_TEMPLATE = 'customer/create_account/email_confirmation_template';
|
47 |
const XML_PATH_CONFIRMED_EMAIL_TEMPLATE = 'customer/create_account/email_confirmed_template';
|
48 |
const XML_PATH_GENERATE_HUMAN_FRIENDLY_ID = 'customer/create_account/generate_human_friendly_id';
|
|
|
|
|
49 |
/**#@-*/
|
50 |
|
51 |
/**#@+
|
@@ -66,6 +68,11 @@ class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
|
|
66 |
|
67 |
const CACHE_TAG = 'customer';
|
68 |
|
|
|
|
|
|
|
|
|
|
|
69 |
/**
|
70 |
* Model event prefix
|
71 |
*
|
@@ -385,7 +392,7 @@ class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
|
|
385 |
public function hashPassword($password, $salt = null)
|
386 |
{
|
387 |
return $this->_getHelper('core')
|
388 |
-
->getHash($password, !is_null($salt) ? $salt : Mage_Admin_Model_User::HASH_SALT_LENGTH);
|
389 |
}
|
390 |
|
391 |
/**
|
@@ -585,10 +592,11 @@ class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
|
|
585 |
* @param string $type
|
586 |
* @param string $backUrl
|
587 |
* @param string $storeId
|
|
|
588 |
* @throws Mage_Core_Exception
|
589 |
* @return Mage_Customer_Model_Customer
|
590 |
*/
|
591 |
-
public function sendNewAccountEmail($type = 'registered', $backUrl = '', $storeId = '0')
|
592 |
{
|
593 |
$types = array(
|
594 |
'registered' => self::XML_PATH_REGISTER_EMAIL_TEMPLATE, // welcome email, when confirmation is disabled
|
@@ -603,8 +611,10 @@ class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
|
|
603 |
$storeId = $this->_getWebsiteStoreId($this->getSendemailStoreId());
|
604 |
}
|
605 |
|
|
|
606 |
$this->_sendEmailTemplate($types[$type], self::XML_PATH_REGISTER_EMAIL_IDENTITY,
|
607 |
array('customer' => $this, 'back_url' => $backUrl), $storeId);
|
|
|
608 |
|
609 |
return $this;
|
610 |
}
|
@@ -655,6 +665,25 @@ class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
|
|
655 |
return $this;
|
656 |
}
|
657 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
658 |
/**
|
659 |
* Send corresponding email template
|
660 |
*
|
@@ -662,14 +691,16 @@ class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
|
|
662 |
* @param string $emailSender configuration path of email identity
|
663 |
* @param array $templateParams
|
664 |
* @param int|null $storeId
|
|
|
665 |
* @return Mage_Customer_Model_Customer
|
666 |
*/
|
667 |
-
protected function _sendEmailTemplate($template, $sender, $templateParams = array(), $storeId = null)
|
668 |
{
|
|
|
669 |
/** @var $mailer Mage_Core_Model_Email_Template_Mailer */
|
670 |
$mailer = Mage::getModel('core/email_template_mailer');
|
671 |
$emailInfo = Mage::getModel('core/email_info');
|
672 |
-
$emailInfo->addTo($
|
673 |
$mailer->addEmailInfo($emailInfo);
|
674 |
|
675 |
// Set all required params and send emails
|
@@ -838,8 +869,9 @@ class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
|
|
838 |
if (!$this->getId() && !Zend_Validate::is($password , 'NotEmpty')) {
|
839 |
$errors[] = Mage::helper('customer')->__('The password cannot be empty.');
|
840 |
}
|
841 |
-
if (strlen($password) && !Zend_Validate::is($password, 'StringLength', array(
|
842 |
-
$errors[] = Mage::helper('customer')
|
|
|
843 |
}
|
844 |
$confirmation = $this->getPasswordConfirmation();
|
845 |
if ($password != $confirmation) {
|
@@ -866,6 +898,32 @@ class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
|
|
866 |
return $errors;
|
867 |
}
|
868 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
869 |
/**
|
870 |
* Import customer data from text array
|
871 |
*
|
@@ -1339,8 +1397,8 @@ class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
|
|
1339 |
return true;
|
1340 |
}
|
1341 |
|
1342 |
-
$
|
1343 |
-
if ($
|
1344 |
return true;
|
1345 |
}
|
1346 |
|
46 |
const XML_PATH_CONFIRM_EMAIL_TEMPLATE = 'customer/create_account/email_confirmation_template';
|
47 |
const XML_PATH_CONFIRMED_EMAIL_TEMPLATE = 'customer/create_account/email_confirmed_template';
|
48 |
const XML_PATH_GENERATE_HUMAN_FRIENDLY_ID = 'customer/create_account/generate_human_friendly_id';
|
49 |
+
const XML_PATH_CHANGED_PASSWORD_OR_EMAIL_TEMPLATE = 'customer/changed_account/password_or_email_template';
|
50 |
+
const XML_PATH_CHANGED_PASSWORD_OR_EMAIL_IDENTITY = 'customer/changed_account/password_or_email_identity';
|
51 |
/**#@-*/
|
52 |
|
53 |
/**#@+
|
68 |
|
69 |
const CACHE_TAG = 'customer';
|
70 |
|
71 |
+
/**
|
72 |
+
* Minimum Password Length
|
73 |
+
*/
|
74 |
+
const MINIMUM_PASSWORD_LENGTH = 6;
|
75 |
+
|
76 |
/**
|
77 |
* Model event prefix
|
78 |
*
|
392 |
public function hashPassword($password, $salt = null)
|
393 |
{
|
394 |
return $this->_getHelper('core')
|
395 |
+
->getHash(trim($password), !is_null($salt) ? $salt : Mage_Admin_Model_User::HASH_SALT_LENGTH);
|
396 |
}
|
397 |
|
398 |
/**
|
592 |
* @param string $type
|
593 |
* @param string $backUrl
|
594 |
* @param string $storeId
|
595 |
+
* @param string $password
|
596 |
* @throws Mage_Core_Exception
|
597 |
* @return Mage_Customer_Model_Customer
|
598 |
*/
|
599 |
+
public function sendNewAccountEmail($type = 'registered', $backUrl = '', $storeId = '0', $password = '')
|
600 |
{
|
601 |
$types = array(
|
602 |
'registered' => self::XML_PATH_REGISTER_EMAIL_TEMPLATE, // welcome email, when confirmation is disabled
|
611 |
$storeId = $this->_getWebsiteStoreId($this->getSendemailStoreId());
|
612 |
}
|
613 |
|
614 |
+
$this->setPassword($password);
|
615 |
$this->_sendEmailTemplate($types[$type], self::XML_PATH_REGISTER_EMAIL_IDENTITY,
|
616 |
array('customer' => $this, 'back_url' => $backUrl), $storeId);
|
617 |
+
$this->cleanPasswordsValidationData();
|
618 |
|
619 |
return $this;
|
620 |
}
|
665 |
return $this;
|
666 |
}
|
667 |
|
668 |
+
/**
|
669 |
+
* Send info email about changed password or email
|
670 |
+
*
|
671 |
+
* @return Mage_Customer_Model_Customer
|
672 |
+
*/
|
673 |
+
public function sendChangedPasswordOrEmail()
|
674 |
+
{
|
675 |
+
$storeId = $this->getStoreId();
|
676 |
+
if (!$storeId) {
|
677 |
+
$storeId = $this->_getWebsiteStoreId();
|
678 |
+
}
|
679 |
+
|
680 |
+
$this->_sendEmailTemplate(self::XML_PATH_CHANGED_PASSWORD_OR_EMAIL_TEMPLATE,
|
681 |
+
self::XML_PATH_CHANGED_PASSWORD_OR_EMAIL_IDENTITY,
|
682 |
+
array('customer' => $this), $storeId, $this->getOldEmail());
|
683 |
+
|
684 |
+
return $this;
|
685 |
+
}
|
686 |
+
|
687 |
/**
|
688 |
* Send corresponding email template
|
689 |
*
|
691 |
* @param string $emailSender configuration path of email identity
|
692 |
* @param array $templateParams
|
693 |
* @param int|null $storeId
|
694 |
+
* @param string|null $customerEmail
|
695 |
* @return Mage_Customer_Model_Customer
|
696 |
*/
|
697 |
+
protected function _sendEmailTemplate($template, $sender, $templateParams = array(), $storeId = null, $customerEmail = null)
|
698 |
{
|
699 |
+
$customerEmail = ($customerEmail) ? $customerEmail : $this->getEmail();
|
700 |
/** @var $mailer Mage_Core_Model_Email_Template_Mailer */
|
701 |
$mailer = Mage::getModel('core/email_template_mailer');
|
702 |
$emailInfo = Mage::getModel('core/email_info');
|
703 |
+
$emailInfo->addTo($customerEmail, $this->getName());
|
704 |
$mailer->addEmailInfo($emailInfo);
|
705 |
|
706 |
// Set all required params and send emails
|
869 |
if (!$this->getId() && !Zend_Validate::is($password , 'NotEmpty')) {
|
870 |
$errors[] = Mage::helper('customer')->__('The password cannot be empty.');
|
871 |
}
|
872 |
+
if (strlen($password) && !Zend_Validate::is($password, 'StringLength', array(self::MINIMUM_PASSWORD_LENGTH))) {
|
873 |
+
$errors[] = Mage::helper('customer')
|
874 |
+
->__('The minimum password length is %s', self::MINIMUM_PASSWORD_LENGTH);
|
875 |
}
|
876 |
$confirmation = $this->getPasswordConfirmation();
|
877 |
if ($password != $confirmation) {
|
898 |
return $errors;
|
899 |
}
|
900 |
|
901 |
+
/**
|
902 |
+
* Validate customer attribute values on password reset
|
903 |
+
* @return bool
|
904 |
+
*/
|
905 |
+
public function validateResetPassword()
|
906 |
+
{
|
907 |
+
$errors = array();
|
908 |
+
$password = $this->getPassword();
|
909 |
+
if (!Zend_Validate::is($password, 'NotEmpty')) {
|
910 |
+
$errors[] = Mage::helper('customer')->__('The password cannot be empty.');
|
911 |
+
}
|
912 |
+
if (!Zend_Validate::is($password, 'StringLength', array(self::MINIMUM_PASSWORD_LENGTH))) {
|
913 |
+
$errors[] = Mage::helper('customer')
|
914 |
+
->__('The minimum password length is %s', self::MINIMUM_PASSWORD_LENGTH);
|
915 |
+
}
|
916 |
+
$confirmation = $this->getPasswordConfirmation();
|
917 |
+
if ($password != $confirmation) {
|
918 |
+
$errors[] = Mage::helper('customer')->__('Please make sure your passwords match.');
|
919 |
+
}
|
920 |
+
|
921 |
+
if (empty($errors)) {
|
922 |
+
return true;
|
923 |
+
}
|
924 |
+
return $errors;
|
925 |
+
}
|
926 |
+
|
927 |
/**
|
928 |
* Import customer data from text array
|
929 |
*
|
1397 |
return true;
|
1398 |
}
|
1399 |
|
1400 |
+
$hoursDifference = floor(($currentTimestamp - $tokenTimestamp) / (60 * 60));
|
1401 |
+
if ($hoursDifference >= $tokenExpirationPeriod) {
|
1402 |
return true;
|
1403 |
}
|
1404 |
|
app/code/core/Mage/Customer/Model/Flowpassword.php
ADDED
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Customer
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Customer flow password info Model
|
30 |
+
*
|
31 |
+
* @category Mage
|
32 |
+
* @package Mage_Customer
|
33 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
34 |
+
*/
|
35 |
+
class Mage_Customer_Model_Flowpassword extends Mage_Core_Model_Abstract
|
36 |
+
{
|
37 |
+
protected function _construct()
|
38 |
+
{
|
39 |
+
$this->_init('customer/flowpassword');
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Prepare data before save
|
44 |
+
*
|
45 |
+
* @return Mage_Core_Model_Abstract
|
46 |
+
*/
|
47 |
+
protected function _beforeSave()
|
48 |
+
{
|
49 |
+
$this->_prepareData();
|
50 |
+
return parent::_beforeSave();
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Prepare customer flow password data
|
55 |
+
*
|
56 |
+
* @return Mage_Customer_Model_Flowpassword
|
57 |
+
*/
|
58 |
+
protected function _prepareData()
|
59 |
+
{
|
60 |
+
$validatorData = Mage::getSingleton('customer/session')->getValidatorData();
|
61 |
+
$this->setIp($validatorData[Mage_Customer_Model_Session::VALIDATOR_REMOTE_ADDR_KEY])
|
62 |
+
->setRequestedDate(Mage::getModel('core/date')->date());
|
63 |
+
return $this;
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Check forgot password requests to times per 24 hours from 1 e-mail
|
68 |
+
*
|
69 |
+
* @param string $email
|
70 |
+
* @return bool
|
71 |
+
*/
|
72 |
+
public function checkCustomerForgotPasswordFlowEmail($email)
|
73 |
+
{
|
74 |
+
$helper = Mage::helper('customer');
|
75 |
+
$checkForgotPasswordFlowTypes = array(
|
76 |
+
Mage_Adminhtml_Model_System_Config_Source_Customer_Forgotpassword::FORGOTPASS_FLOW_IP_EMAIL,
|
77 |
+
Mage_Adminhtml_Model_System_Config_Source_Customer_Forgotpassword::FORGOTPASS_FLOW_EMAIL
|
78 |
+
);
|
79 |
+
|
80 |
+
if (in_array($helper->getCustomerForgotPasswordFlowSecure(), $checkForgotPasswordFlowTypes)) {
|
81 |
+
$forgotPassword = $this->getCollection()
|
82 |
+
->addFieldToFilter('email', array('eq' => $email))
|
83 |
+
->addFieldToFilter('requested_date',
|
84 |
+
array('gt' => Mage::getModel('core/date')->date(null, '-1 day')));
|
85 |
+
|
86 |
+
if ($forgotPassword->getSize() > $helper->getCustomerForgotPasswordEmailTimes()) {
|
87 |
+
return false;
|
88 |
+
}
|
89 |
+
}
|
90 |
+
return true;
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Check forgot password requests to times per hour from 1 IP
|
95 |
+
*
|
96 |
+
* @return bool
|
97 |
+
*/
|
98 |
+
public function checkCustomerForgotPasswordFlowIp()
|
99 |
+
{
|
100 |
+
$helper = Mage::helper('customer');
|
101 |
+
$validatorData = Mage::getSingleton('customer/session')->getValidatorData();
|
102 |
+
$remoteAddr = $validatorData[Mage_Customer_Model_Session::VALIDATOR_REMOTE_ADDR_KEY];
|
103 |
+
$checkForgotPasswordFlowTypes = array(
|
104 |
+
Mage_Adminhtml_Model_System_Config_Source_Customer_Forgotpassword::FORGOTPASS_FLOW_IP_EMAIL,
|
105 |
+
Mage_Adminhtml_Model_System_Config_Source_Customer_Forgotpassword::FORGOTPASS_FLOW_IP
|
106 |
+
);
|
107 |
+
|
108 |
+
if (in_array($helper->getCustomerForgotPasswordFlowSecure(), $checkForgotPasswordFlowTypes) && $remoteAddr) {
|
109 |
+
$forgotPassword = $this->getCollection()
|
110 |
+
->addFieldToFilter('ip', array('eq' => $remoteAddr))
|
111 |
+
->addFieldToFilter('requested_date',
|
112 |
+
array('gt' => Mage::getModel('core/date')->date(null, '-1 hour')));
|
113 |
+
|
114 |
+
if ($forgotPassword->getSize() > $helper->getCustomerForgotPasswordIpTimes()) {
|
115 |
+
return false;
|
116 |
+
}
|
117 |
+
}
|
118 |
+
return true;
|
119 |
+
}
|
120 |
+
}
|
121 |
+
|
app/code/core/Mage/Customer/Model/Observer.php
CHANGED
@@ -141,7 +141,8 @@ class Mage_Customer_Model_Observer
|
|
141 |
$customerAddress = $observer->getCustomerAddress();
|
142 |
$customer = $customerAddress->getCustomer();
|
143 |
|
144 |
-
|
|
|
145 |
|| Mage::registry(self::VIV_PROCESSED_FLAG)
|
146 |
|| !$this->_canProcessAddress($customerAddress)
|
147 |
) {
|
@@ -218,4 +219,15 @@ class Mage_Customer_Model_Observer
|
|
218 |
);
|
219 |
$customer->save();
|
220 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
}
|
141 |
$customerAddress = $observer->getCustomerAddress();
|
142 |
$customer = $customerAddress->getCustomer();
|
143 |
|
144 |
+
$store = Mage::app()->getStore()->isAdmin() ? $customer->getStore() : null;
|
145 |
+
if (!Mage::helper('customer/address')->isVatValidationEnabled($store)
|
146 |
|| Mage::registry(self::VIV_PROCESSED_FLAG)
|
147 |
|| !$this->_canProcessAddress($customerAddress)
|
148 |
) {
|
219 |
);
|
220 |
$customer->save();
|
221 |
}
|
222 |
+
|
223 |
+
/**
|
224 |
+
* Clear customer flow password table
|
225 |
+
*
|
226 |
+
*/
|
227 |
+
public function deleteCustomerFlowPassword()
|
228 |
+
{
|
229 |
+
$connection = Mage::getSingleton('core/resource')->getConnection('write');
|
230 |
+
$condition = array('requested_date < ?' => Mage::getModel('core/date')->date(null, '-1 day'));
|
231 |
+
$connection->delete($connection->getTableName('customer_flowpassword'), $condition);
|
232 |
+
}
|
233 |
}
|
app/code/core/Mage/Customer/Model/Resource/Flowpassword.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Customer
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Customer flow password info resource model
|
30 |
+
*
|
31 |
+
* @category Mage
|
32 |
+
* @package Mage_Customer
|
33 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
34 |
+
*/
|
35 |
+
class Mage_Customer_Model_Resource_Flowpassword extends Mage_Core_Model_Resource_Db_Abstract
|
36 |
+
{
|
37 |
+
/**
|
38 |
+
* Resource initialization
|
39 |
+
*/
|
40 |
+
protected function _construct()
|
41 |
+
{
|
42 |
+
$this->_init('customer/flowpassword', 'flowpassword_id');
|
43 |
+
}
|
44 |
+
}
|
app/code/core/Mage/Customer/Model/Resource/Flowpassword/Collection.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Customer
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Customer flow password info collection
|
30 |
+
*
|
31 |
+
* @category Mage
|
32 |
+
* @package Mage_Customer
|
33 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
34 |
+
*/
|
35 |
+
class Mage_Customer_Model_Resource_Flowpassword_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
36 |
+
{
|
37 |
+
/**
|
38 |
+
* Resource initialization
|
39 |
+
*/
|
40 |
+
protected function _construct()
|
41 |
+
{
|
42 |
+
$this->_init('customer/flowpassword');
|
43 |
+
}
|
44 |
+
}
|
app/code/core/Mage/Customer/controllers/AccountController.php
CHANGED
@@ -339,7 +339,8 @@ class Mage_Customer_AccountController extends Mage_Core_Controller_Front_Action
|
|
339 |
$customer->sendNewAccountEmail(
|
340 |
'confirmation',
|
341 |
$session->getBeforeAuthUrl(),
|
342 |
-
$store->getId()
|
|
|
343 |
);
|
344 |
$customerHelper = $this->_getHelper('customer');
|
345 |
$session->addSuccess($this->__('Account confirmation is required. Please, check your email for the confirmation link. To resend the confirmation email please <a href="%s">click here</a>.',
|
@@ -571,7 +572,8 @@ class Mage_Customer_AccountController extends Mage_Core_Controller_Front_Action
|
|
571 |
$customer->sendNewAccountEmail(
|
572 |
$isJustConfirmed ? 'confirmed' : 'registered',
|
573 |
'',
|
574 |
-
Mage::app()->getStore()->getId()
|
|
|
575 |
);
|
576 |
|
577 |
$successUrl = $this->_getUrl('*/*/index', array('_secure' => true));
|
@@ -722,6 +724,25 @@ class Mage_Customer_AccountController extends Mage_Core_Controller_Front_Action
|
|
722 |
{
|
723 |
$email = (string) $this->getRequest()->getPost('email');
|
724 |
if ($email) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
725 |
if (!Zend_Validate::is($email, 'EmailAddress')) {
|
726 |
$this->_getSession()->setForgottenEmail($email);
|
727 |
$this->_getSession()->addError($this->__('Invalid email address.'));
|
@@ -825,7 +846,7 @@ class Mage_Customer_AccountController extends Mage_Core_Controller_Front_Action
|
|
825 |
|
826 |
$customer->setPassword($password);
|
827 |
$customer->setPasswordConfirmation($passwordConfirmation);
|
828 |
-
$validationErrorMessages = $customer->
|
829 |
if (is_array($validationErrorMessages)) {
|
830 |
$errorMessages = array_merge($errorMessages, $validationErrorMessages);
|
831 |
}
|
@@ -927,7 +948,7 @@ class Mage_Customer_AccountController extends Mage_Core_Controller_Front_Action
|
|
927 |
if ($this->getRequest()->isPost()) {
|
928 |
/** @var $customer Mage_Customer_Model_Customer */
|
929 |
$customer = $this->_getSession()->getCustomer();
|
930 |
-
|
931 |
/** @var $customerForm Mage_Customer_Model_Form */
|
932 |
$customerForm = $this->_getModel('customer/form');
|
933 |
$customerForm->setFormCode('customer_account_edit')
|
@@ -943,32 +964,30 @@ class Mage_Customer_AccountController extends Mage_Core_Controller_Front_Action
|
|
943 |
$customerForm->compactData($customerData);
|
944 |
$errors = array();
|
945 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
946 |
// If password change was requested then add it to common validation scheme
|
947 |
-
|
948 |
-
|
|
|
949 |
$newPass = $this->getRequest()->getPost('password');
|
950 |
$confPass = $this->getRequest()->getPost('confirmation');
|
951 |
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
if ($customer->hashPassword($currPass, $salt) == $oldPass) {
|
960 |
-
if (strlen($newPass)) {
|
961 |
-
/**
|
962 |
-
* Set entered password and its confirmation - they
|
963 |
-
* will be validated later to match each other and be of right length
|
964 |
-
*/
|
965 |
-
$customer->setPassword($newPass);
|
966 |
-
$customer->setPasswordConfirmation($confPass);
|
967 |
-
} else {
|
968 |
-
$errors[] = $this->__('New password field cannot be empty.');
|
969 |
-
}
|
970 |
} else {
|
971 |
-
$errors[] = $this->__('
|
972 |
}
|
973 |
}
|
974 |
|
@@ -990,10 +1009,21 @@ class Mage_Customer_AccountController extends Mage_Core_Controller_Front_Action
|
|
990 |
|
991 |
try {
|
992 |
$customer->cleanPasswordsValidationData();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
993 |
$customer->save();
|
994 |
$this->_getSession()->setCustomer($customer)
|
995 |
->addSuccess($this->__('The account information has been saved.'));
|
996 |
|
|
|
|
|
|
|
|
|
997 |
$this->_redirect('customer/account');
|
998 |
return;
|
999 |
} catch (Mage_Core_Exception $e) {
|
339 |
$customer->sendNewAccountEmail(
|
340 |
'confirmation',
|
341 |
$session->getBeforeAuthUrl(),
|
342 |
+
$store->getId(),
|
343 |
+
$this->getRequest()->getPost('password')
|
344 |
);
|
345 |
$customerHelper = $this->_getHelper('customer');
|
346 |
$session->addSuccess($this->__('Account confirmation is required. Please, check your email for the confirmation link. To resend the confirmation email please <a href="%s">click here</a>.',
|
572 |
$customer->sendNewAccountEmail(
|
573 |
$isJustConfirmed ? 'confirmed' : 'registered',
|
574 |
'',
|
575 |
+
Mage::app()->getStore()->getId(),
|
576 |
+
$this->getRequest()->getPost('password')
|
577 |
);
|
578 |
|
579 |
$successUrl = $this->_getUrl('*/*/index', array('_secure' => true));
|
724 |
{
|
725 |
$email = (string) $this->getRequest()->getPost('email');
|
726 |
if ($email) {
|
727 |
+
/**
|
728 |
+
* @var $flowPassword Mage_Customer_Model_Flowpassword
|
729 |
+
*/
|
730 |
+
$flowPassword = $this->_getModel('customer/flowpassword');
|
731 |
+
$flowPassword->setEmail($email)->save();
|
732 |
+
|
733 |
+
if (!$flowPassword->checkCustomerForgotPasswordFlowEmail($email)) {
|
734 |
+
$this->_getSession()
|
735 |
+
->addError($this->__('You have exceeded requests to times per 24 hours from 1 e-mail.'));
|
736 |
+
$this->_redirect('*/*/forgotpassword');
|
737 |
+
return;
|
738 |
+
}
|
739 |
+
|
740 |
+
if (!$flowPassword->checkCustomerForgotPasswordFlowIp()) {
|
741 |
+
$this->_getSession()->addError($this->__('You have exceeded requests to times per hour from 1 IP.'));
|
742 |
+
$this->_redirect('*/*/forgotpassword');
|
743 |
+
return;
|
744 |
+
}
|
745 |
+
|
746 |
if (!Zend_Validate::is($email, 'EmailAddress')) {
|
747 |
$this->_getSession()->setForgottenEmail($email);
|
748 |
$this->_getSession()->addError($this->__('Invalid email address.'));
|
846 |
|
847 |
$customer->setPassword($password);
|
848 |
$customer->setPasswordConfirmation($passwordConfirmation);
|
849 |
+
$validationErrorMessages = $customer->validateResetPassword();
|
850 |
if (is_array($validationErrorMessages)) {
|
851 |
$errorMessages = array_merge($errorMessages, $validationErrorMessages);
|
852 |
}
|
948 |
if ($this->getRequest()->isPost()) {
|
949 |
/** @var $customer Mage_Customer_Model_Customer */
|
950 |
$customer = $this->_getSession()->getCustomer();
|
951 |
+
$customer->setOldEmail($customer->getEmail());
|
952 |
/** @var $customerForm Mage_Customer_Model_Form */
|
953 |
$customerForm = $this->_getModel('customer/form');
|
954 |
$customerForm->setFormCode('customer_account_edit')
|
964 |
$customerForm->compactData($customerData);
|
965 |
$errors = array();
|
966 |
|
967 |
+
if (!$customer->validatePassword($this->getRequest()->getPost('current_password'))) {
|
968 |
+
$errors[] = $this->__('Invalid current password');
|
969 |
+
}
|
970 |
+
|
971 |
+
// If email change was requested then set flag
|
972 |
+
$isChangeEmail = ($customer->getOldEmail() != $customer->getEmail()) ? true : false;
|
973 |
+
$customer->setIsChangeEmail($isChangeEmail);
|
974 |
+
|
975 |
// If password change was requested then add it to common validation scheme
|
976 |
+
$customer->setIsChangePassword($this->getRequest()->getParam('change_password'));
|
977 |
+
|
978 |
+
if ($customer->getIsChangePassword()) {
|
979 |
$newPass = $this->getRequest()->getPost('password');
|
980 |
$confPass = $this->getRequest()->getPost('confirmation');
|
981 |
|
982 |
+
if (strlen($newPass)) {
|
983 |
+
/**
|
984 |
+
* Set entered password and its confirmation - they
|
985 |
+
* will be validated later to match each other and be of right length
|
986 |
+
*/
|
987 |
+
$customer->setPassword($newPass);
|
988 |
+
$customer->setPasswordConfirmation($confPass);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
989 |
} else {
|
990 |
+
$errors[] = $this->__('New password field cannot be empty.');
|
991 |
}
|
992 |
}
|
993 |
|
1009 |
|
1010 |
try {
|
1011 |
$customer->cleanPasswordsValidationData();
|
1012 |
+
|
1013 |
+
// Reset all password reset tokens if all data was sufficient and correct on email change
|
1014 |
+
if ($customer->getIsChangeEmail()) {
|
1015 |
+
$customer->setRpToken(null);
|
1016 |
+
$customer->setRpTokenCreatedAt(null);
|
1017 |
+
}
|
1018 |
+
|
1019 |
$customer->save();
|
1020 |
$this->_getSession()->setCustomer($customer)
|
1021 |
->addSuccess($this->__('The account information has been saved.'));
|
1022 |
|
1023 |
+
if ($customer->getIsChangeEmail() || $customer->getIsChangePassword()) {
|
1024 |
+
$customer->sendChangedPasswordOrEmail();
|
1025 |
+
}
|
1026 |
+
|
1027 |
$this->_redirect('customer/account');
|
1028 |
return;
|
1029 |
} catch (Mage_Core_Exception $e) {
|
app/code/core/Mage/Customer/controllers/AddressController.php
CHANGED
@@ -163,6 +163,9 @@ class Mage_Customer_AddressController extends Mage_Core_Controller_Front_Action
|
|
163 |
|
164 |
public function deleteAction()
|
165 |
{
|
|
|
|
|
|
|
166 |
$addressId = $this->getRequest()->getParam('id', false);
|
167 |
|
168 |
if ($addressId) {
|
163 |
|
164 |
public function deleteAction()
|
165 |
{
|
166 |
+
if (!$this->_validateFormKey()) {
|
167 |
+
return $this->_redirect('*/*/');
|
168 |
+
}
|
169 |
$addressId = $this->getRequest()->getParam('id', false);
|
170 |
|
171 |
if ($addressId) {
|
app/code/core/Mage/Customer/data/customer_setup/data-upgrade-1.6.2.0.4-1.6.2.0.5.php
ADDED
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Customer
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/** @var $installer Mage_Customer_Model_Entity_Setup */
|
28 |
+
$installer = $this;
|
29 |
+
|
30 |
+
$installer->startSetup();
|
31 |
+
$connection = $installer->getConnection();
|
32 |
+
|
33 |
+
$eavConfig = Mage::getSingleton('eav/config');
|
34 |
+
$customerEntityTypeId = $eavConfig->getEntityType('customer')->getEntityTypeId();
|
35 |
+
$customerAddressEntityTypeId = $eavConfig->getEntityType('customer_address')->getEntityTypeId();
|
36 |
+
|
37 |
+
$entityTypeIds = array($customerAddressEntityTypeId, $customerEntityTypeId);
|
38 |
+
|
39 |
+
$attributes = Mage::getResourceModel('eav/entity_attribute_collection')
|
40 |
+
->addFieldToFilter('frontend_input', 'multiselect')
|
41 |
+
->addFieldToFilter('entity_type_id', array('in' => $entityTypeIds))
|
42 |
+
->getItems();
|
43 |
+
|
44 |
+
foreach ($attributes as $attribute) {
|
45 |
+
$entityTypeId = $attribute->getEntityTypeId();
|
46 |
+
$attributeId = $attribute->getId();
|
47 |
+
$attributeTableOld = $installer->getAttributeTable($entityTypeId, $attributeId);
|
48 |
+
|
49 |
+
$installer->updateAttribute($entityTypeId, $attributeId, 'backend_type', 'text');
|
50 |
+
|
51 |
+
$attributeTableNew = $installer->getAttributeTable($entityTypeId, $attributeId);
|
52 |
+
|
53 |
+
if ($attributeTableOld != $attributeTableNew) {
|
54 |
+
$connection->disableTableKeys($attributeTableOld)
|
55 |
+
->disableTableKeys($attributeTableNew);
|
56 |
+
|
57 |
+
$select = $connection->select()
|
58 |
+
->from($attributeTableOld, array('entity_type_id', 'attribute_id', 'entity_id', 'value'))
|
59 |
+
->where('entity_type_id = ?', $entityTypeId)
|
60 |
+
->where('attribute_id = ?', $attributeId);
|
61 |
+
|
62 |
+
$query = $select->insertFromSelect($attributeTableNew,
|
63 |
+
array('entity_type_id', 'attribute_id', 'entity_id', 'value')
|
64 |
+
);
|
65 |
+
|
66 |
+
$connection->query($query);
|
67 |
+
|
68 |
+
$connection->delete($attributeTableOld,
|
69 |
+
$connection->quoteInto('entity_type_id = ?', $entityTypeId)
|
70 |
+
. $connection->quoteInto(' AND attribute_id = ?', $attributeId)
|
71 |
+
);
|
72 |
+
|
73 |
+
$connection->enableTableKeys($attributeTableOld)
|
74 |
+
->enableTableKeys($attributeTableNew);
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
$installer->endSetup();
|
app/code/core/Mage/Customer/etc/config.xml
CHANGED
@@ -28,7 +28,7 @@
|
|
28 |
<config>
|
29 |
<modules>
|
30 |
<Mage_Customer>
|
31 |
-
<version>1.6.2.0.
|
32 |
</Mage_Customer>
|
33 |
</modules>
|
34 |
<admin>
|
@@ -378,6 +378,9 @@
|
|
378 |
<form_attribute>
|
379 |
<table>customer_form_attribute</table>
|
380 |
</form_attribute>
|
|
|
|
|
|
|
381 |
</entities>
|
382 |
</customer_resource>
|
383 |
</models>
|
@@ -416,6 +419,11 @@
|
|
416 |
<file>password_new.html</file>
|
417 |
<type>html</type>
|
418 |
</customer_password_remind_email_template>
|
|
|
|
|
|
|
|
|
|
|
419 |
</email>
|
420 |
</template>
|
421 |
<events>
|
@@ -512,6 +520,10 @@
|
|
512 |
<email_confirmed_template>customer_create_account_email_confirmed_template</email_confirmed_template>
|
513 |
<vat_frontend_visibility>0</vat_frontend_visibility>
|
514 |
</create_account>
|
|
|
|
|
|
|
|
|
515 |
<default>
|
516 |
<group>1</group>
|
517 |
</default>
|
@@ -519,7 +531,7 @@
|
|
519 |
<forgot_email_identity>support</forgot_email_identity>
|
520 |
<forgot_email_template>customer_password_forgot_email_template</forgot_email_template>
|
521 |
<remind_email_template>customer_password_remind_email_template</remind_email_template>
|
522 |
-
<reset_link_expiration_period>
|
523 |
<require_admin_user_to_change_user_password>1</require_admin_user_to_change_user_password>
|
524 |
</password>
|
525 |
<address>
|
@@ -576,5 +588,24 @@ T: {{var telephone}}
|
|
576 |
<js_template><![CDATA[#{prefix} #{firstname} #{middlename} #{lastname} #{suffix}<br/>#{company}<br/>#{street0}<br/>#{street1}<br/>#{street2}<br/>#{street3}<br/>#{city}, #{region}, #{postcode}<br/>#{country_id}<br/>T: #{telephone}<br/>F: #{fax}<br/>VAT: #{vat_id}]]></js_template>
|
577 |
</address_templates>
|
578 |
</customer>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
579 |
</default>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
580 |
</config>
|
28 |
<config>
|
29 |
<modules>
|
30 |
<Mage_Customer>
|
31 |
+
<version>1.6.2.0.5</version>
|
32 |
</Mage_Customer>
|
33 |
</modules>
|
34 |
<admin>
|
378 |
<form_attribute>
|
379 |
<table>customer_form_attribute</table>
|
380 |
</form_attribute>
|
381 |
+
<flowpassword>
|
382 |
+
<table>customer_flowpassword</table>
|
383 |
+
</flowpassword>
|
384 |
</entities>
|
385 |
</customer_resource>
|
386 |
</models>
|
419 |
<file>password_new.html</file>
|
420 |
<type>html</type>
|
421 |
</customer_password_remind_email_template>
|
422 |
+
<customer_changed_account_password_or_email_template translate="label" module="customer">
|
423 |
+
<label>Changed Password or Email</label>
|
424 |
+
<file>password_or_email_changed.html</file>
|
425 |
+
<type>html</type>
|
426 |
+
</customer_changed_account_password_or_email_template>
|
427 |
</email>
|
428 |
</template>
|
429 |
<events>
|
520 |
<email_confirmed_template>customer_create_account_email_confirmed_template</email_confirmed_template>
|
521 |
<vat_frontend_visibility>0</vat_frontend_visibility>
|
522 |
</create_account>
|
523 |
+
<changed_account>
|
524 |
+
<password_or_email_identity>general</password_or_email_identity>
|
525 |
+
<password_or_email_template>customer_changed_account_password_or_email_template</password_or_email_template>
|
526 |
+
</changed_account>
|
527 |
<default>
|
528 |
<group>1</group>
|
529 |
</default>
|
531 |
<forgot_email_identity>support</forgot_email_identity>
|
532 |
<forgot_email_template>customer_password_forgot_email_template</forgot_email_template>
|
533 |
<remind_email_template>customer_password_remind_email_template</remind_email_template>
|
534 |
+
<reset_link_expiration_period>2</reset_link_expiration_period>
|
535 |
<require_admin_user_to_change_user_password>1</require_admin_user_to_change_user_password>
|
536 |
</password>
|
537 |
<address>
|
588 |
<js_template><![CDATA[#{prefix} #{firstname} #{middlename} #{lastname} #{suffix}<br/>#{company}<br/>#{street0}<br/>#{street1}<br/>#{street2}<br/>#{street3}<br/>#{city}, #{region}, #{postcode}<br/>#{country_id}<br/>T: #{telephone}<br/>F: #{fax}<br/>VAT: #{vat_id}]]></js_template>
|
589 |
</address_templates>
|
590 |
</customer>
|
591 |
+
<admin>
|
592 |
+
<security>
|
593 |
+
<forgot_password_flow_secure>1</forgot_password_flow_secure>
|
594 |
+
<forgot_password_email_times>5</forgot_password_email_times>
|
595 |
+
<forgot_password_ip_times>5</forgot_password_ip_times>
|
596 |
+
</security>
|
597 |
+
</admin>
|
598 |
</default>
|
599 |
+
<crontab>
|
600 |
+
<jobs>
|
601 |
+
<customer_flowpassword>
|
602 |
+
<schedule>
|
603 |
+
<cron_expr>0 0 1 * *</cron_expr>
|
604 |
+
</schedule>
|
605 |
+
<run>
|
606 |
+
<model>mage_customer/observer::deleteCustomerFlowPassword</model>
|
607 |
+
</run>
|
608 |
+
</customer_flowpassword>
|
609 |
+
</jobs>
|
610 |
+
</crontab>
|
611 |
</config>
|
app/code/core/Mage/Customer/etc/system.xml
CHANGED
@@ -250,6 +250,34 @@
|
|
250 |
</generate_human_friendly_id>
|
251 |
</fields>
|
252 |
</create_account>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
253 |
<password translate="label">
|
254 |
<label>Password Options</label>
|
255 |
<frontend_type>text</frontend_type>
|
@@ -286,7 +314,7 @@
|
|
286 |
<show_in_store>1</show_in_store>
|
287 |
</forgot_email_identity>
|
288 |
<reset_link_expiration_period translate="label comment">
|
289 |
-
<label>Recovery Link Expiration Period (
|
290 |
<comment>Please enter a number 1 or greater in this field.</comment>
|
291 |
<frontend_type>text</frontend_type>
|
292 |
<validate>required-entry validate-digits validate-digits-range digits-range-1-</validate>
|
@@ -492,5 +520,40 @@
|
|
492 |
</store_information>
|
493 |
</groups>
|
494 |
</general>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
495 |
</sections>
|
496 |
</config>
|
250 |
</generate_human_friendly_id>
|
251 |
</fields>
|
252 |
</create_account>
|
253 |
+
<changed_account translate="label">
|
254 |
+
<label>Change Account Data</label>
|
255 |
+
<frontend_type>text</frontend_type>
|
256 |
+
<sort_order>25</sort_order>
|
257 |
+
<show_in_default>1</show_in_default>
|
258 |
+
<show_in_website>1</show_in_website>
|
259 |
+
<show_in_store>1</show_in_store>
|
260 |
+
<fields>
|
261 |
+
<password_or_email_identity translate="label">
|
262 |
+
<label>Email Sender</label>
|
263 |
+
<frontend_type>select</frontend_type>
|
264 |
+
<source_model>adminhtml/system_config_source_email_identity</source_model>
|
265 |
+
<sort_order>10</sort_order>
|
266 |
+
<show_in_default>1</show_in_default>
|
267 |
+
<show_in_website>1</show_in_website>
|
268 |
+
<show_in_store>1</show_in_store>
|
269 |
+
</password_or_email_identity>
|
270 |
+
<password_or_email_template translate="label">
|
271 |
+
<label>Changed Email or Password Email Template</label>
|
272 |
+
<frontend_type>select</frontend_type>
|
273 |
+
<source_model>adminhtml/system_config_source_email_template</source_model>
|
274 |
+
<sort_order>20</sort_order>
|
275 |
+
<show_in_default>1</show_in_default>
|
276 |
+
<show_in_website>1</show_in_website>
|
277 |
+
<show_in_store>1</show_in_store>
|
278 |
+
</password_or_email_template>
|
279 |
+
</fields>
|
280 |
+
</changed_account>
|
281 |
<password translate="label">
|
282 |
<label>Password Options</label>
|
283 |
<frontend_type>text</frontend_type>
|
314 |
<show_in_store>1</show_in_store>
|
315 |
</forgot_email_identity>
|
316 |
<reset_link_expiration_period translate="label comment">
|
317 |
+
<label>Recovery Link Expiration Period (hours)</label>
|
318 |
<comment>Please enter a number 1 or greater in this field.</comment>
|
319 |
<frontend_type>text</frontend_type>
|
320 |
<validate>required-entry validate-digits validate-digits-range digits-range-1-</validate>
|
520 |
</store_information>
|
521 |
</groups>
|
522 |
</general>
|
523 |
+
<admin>
|
524 |
+
<groups>
|
525 |
+
<security>
|
526 |
+
<fields>
|
527 |
+
<forgot_password_flow_secure translate="label">
|
528 |
+
<label>Forgot password flow secure</label>
|
529 |
+
<frontend_type>select</frontend_type>
|
530 |
+
<source_model>adminhtml/system_config_source_customer_forgotpassword</source_model>
|
531 |
+
<sort_order>140</sort_order>
|
532 |
+
<show_in_default>1</show_in_default>
|
533 |
+
<show_in_website>1</show_in_website>
|
534 |
+
<show_in_store>1</show_in_store>
|
535 |
+
</forgot_password_flow_secure>
|
536 |
+
<forgot_password_ip_times translate="label comment">
|
537 |
+
<label>Forgot password requests to times per hour from 1 IP</label>
|
538 |
+
<frontend_type>text</frontend_type>
|
539 |
+
<sort_order>150</sort_order>
|
540 |
+
<show_in_default>1</show_in_default>
|
541 |
+
<show_in_website>1</show_in_website>
|
542 |
+
<show_in_store>1</show_in_store>
|
543 |
+
<depends><forgot_password_flow_secure separator=",">1,2</forgot_password_flow_secure></depends>
|
544 |
+
</forgot_password_ip_times>
|
545 |
+
<forgot_password_email_times translate="label">
|
546 |
+
<label>Forgot password requests to times per 24 hours from 1 e-mail</label>
|
547 |
+
<frontend_type>text</frontend_type>
|
548 |
+
<sort_order>160</sort_order>
|
549 |
+
<show_in_default>1</show_in_default>
|
550 |
+
<show_in_website>1</show_in_website>
|
551 |
+
<show_in_store>1</show_in_store>
|
552 |
+
<depends><forgot_password_flow_secure separator=",">1,3</forgot_password_flow_secure></depends>
|
553 |
+
</forgot_password_email_times>
|
554 |
+
</fields>
|
555 |
+
</security>
|
556 |
+
</groups>
|
557 |
+
</admin>
|
558 |
</sections>
|
559 |
</config>
|
app/code/core/Mage/Customer/sql/customer_setup/upgrade-1.6.2.0.4-1.6.2.0.5.php
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Customer
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/* @var $installer Mage_Customer_Model_Entity_Setup */
|
28 |
+
$installer = $this;
|
29 |
+
$installer->startSetup();
|
30 |
+
|
31 |
+
$table = $installer->getConnection()
|
32 |
+
->newTable($installer->getTable('customer/flowpassword'))
|
33 |
+
->addColumn('flowpassword_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
|
34 |
+
'identity' => true,
|
35 |
+
'unsigned' => true,
|
36 |
+
'nullable' => false,
|
37 |
+
'primary' => true,
|
38 |
+
), 'Flow password Id')
|
39 |
+
->addColumn('ip', Varien_Db_Ddl_Table::TYPE_VARCHAR, 50, array(
|
40 |
+
'nullable' => false,
|
41 |
+
), 'User IP')
|
42 |
+
->addColumn('email', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
|
43 |
+
'nullable' => false,
|
44 |
+
), 'Requested email for change')
|
45 |
+
->addColumn('requested_date', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
|
46 |
+
'nullable' => false,
|
47 |
+
'default' => '0000-00-00 00:00:00',
|
48 |
+
), 'Requested date for change')
|
49 |
+
->addIndex($installer->getIdxName('customer/flowpassword', array('email')),
|
50 |
+
array('email'))
|
51 |
+
->addIndex($installer->getIdxName('customer/flowpassword', array('ip')),
|
52 |
+
array('ip'))
|
53 |
+
->addIndex($installer->getIdxName('customer/flowpassword', array('requested_date')),
|
54 |
+
array('requested_date'))
|
55 |
+
->setComment('Customer flow password');
|
56 |
+
$installer->getConnection()->createTable($table);
|
57 |
+
|
58 |
+
$installer->endSetup();
|
app/code/core/Mage/Dataflow/Model/Profile.php
CHANGED
@@ -64,10 +64,14 @@ class Mage_Dataflow_Model_Profile extends Mage_Core_Model_Abstract
|
|
64 |
|
65 |
protected function _afterLoad()
|
66 |
{
|
|
|
67 |
if (is_string($this->getGuiData())) {
|
68 |
-
|
69 |
-
|
70 |
-
|
|
|
|
|
|
|
71 |
}
|
72 |
$this->setGuiData($guiData);
|
73 |
|
@@ -127,7 +131,13 @@ class Mage_Dataflow_Model_Profile extends Mage_Core_Model_Abstract
|
|
127 |
protected function _afterSave()
|
128 |
{
|
129 |
if (is_string($this->getGuiData())) {
|
130 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
}
|
132 |
|
133 |
$profileHistory = Mage::getModel('dataflow/profile_history');
|
64 |
|
65 |
protected function _afterLoad()
|
66 |
{
|
67 |
+
$guiData = '';
|
68 |
if (is_string($this->getGuiData())) {
|
69 |
+
try {
|
70 |
+
$guiData = Mage::helper('core/unserializeArray')
|
71 |
+
->unserialize($this->getGuiData());
|
72 |
+
} catch (Exception $e) {
|
73 |
+
Mage::logException($e);
|
74 |
+
}
|
75 |
}
|
76 |
$this->setGuiData($guiData);
|
77 |
|
131 |
protected function _afterSave()
|
132 |
{
|
133 |
if (is_string($this->getGuiData())) {
|
134 |
+
try {
|
135 |
+
$guiData = Mage::helper('core/unserializeArray')
|
136 |
+
->unserialize($this->getGuiData());
|
137 |
+
$this->setGuiData($guiData);
|
138 |
+
} catch (Exception $e) {
|
139 |
+
Mage::logException($e);
|
140 |
+
}
|
141 |
}
|
142 |
|
143 |
$profileHistory = Mage::getModel('dataflow/profile_history');
|
app/code/core/Mage/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Links.php
CHANGED
@@ -32,7 +32,7 @@
|
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
class Mage_Downloadable_Block_Adminhtml_Catalog_Product_Edit_Tab_Downloadable_Links
|
35 |
-
extends
|
36 |
{
|
37 |
/**
|
38 |
* Purchased Separately Attribute cache
|
@@ -242,6 +242,7 @@ class Mage_Downloadable_Block_Adminhtml_Catalog_Product_Edit_Tab_Downloadable_Li
|
|
242 |
*/
|
243 |
protected function _prepareLayout()
|
244 |
{
|
|
|
245 |
$this->setChild(
|
246 |
'upload_button',
|
247 |
$this->getLayout()->createBlock('adminhtml/widget_button')->addData(array(
|
@@ -251,6 +252,10 @@ class Mage_Downloadable_Block_Adminhtml_Catalog_Product_Edit_Tab_Downloadable_Li
|
|
251 |
'onclick' => 'Downloadable.massUploadByType(\'links\');Downloadable.massUploadByType(\'linkssample\')'
|
252 |
))
|
253 |
);
|
|
|
|
|
|
|
|
|
254 |
}
|
255 |
|
256 |
/**
|
@@ -270,33 +275,56 @@ class Mage_Downloadable_Block_Adminhtml_Catalog_Product_Edit_Tab_Downloadable_Li
|
|
270 |
*/
|
271 |
public function getConfigJson($type='links')
|
272 |
{
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
)
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
$this->getConfig()->setHideUploadButton(true);
|
286 |
-
return Mage::helper('core')->jsonEncode($this->getConfig()->getData());
|
287 |
}
|
288 |
|
|
|
289 |
/**
|
290 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
291 |
*
|
292 |
-
* @
|
|
|
293 |
*/
|
294 |
public function getConfig()
|
295 |
{
|
296 |
-
|
297 |
-
$this->_config = new Varien_Object();
|
298 |
-
}
|
299 |
-
|
300 |
-
return $this->_config;
|
301 |
}
|
302 |
}
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
class Mage_Downloadable_Block_Adminhtml_Catalog_Product_Edit_Tab_Downloadable_Links
|
35 |
+
extends Mage_Uploader_Block_Single
|
36 |
{
|
37 |
/**
|
38 |
* Purchased Separately Attribute cache
|
242 |
*/
|
243 |
protected function _prepareLayout()
|
244 |
{
|
245 |
+
parent::_prepareLayout();
|
246 |
$this->setChild(
|
247 |
'upload_button',
|
248 |
$this->getLayout()->createBlock('adminhtml/widget_button')->addData(array(
|
252 |
'onclick' => 'Downloadable.massUploadByType(\'links\');Downloadable.massUploadByType(\'linkssample\')'
|
253 |
))
|
254 |
);
|
255 |
+
$this->_addElementIdsMapping(array(
|
256 |
+
'container' => $this->getHtmlId() . '-new',
|
257 |
+
'delete' => $this->getHtmlId() . '-delete'
|
258 |
+
));
|
259 |
}
|
260 |
|
261 |
/**
|
275 |
*/
|
276 |
public function getConfigJson($type='links')
|
277 |
{
|
278 |
+
|
279 |
+
$this->getUploaderConfig()
|
280 |
+
->setFileParameterName($type)
|
281 |
+
->setTarget(
|
282 |
+
Mage::getModel('adminhtml/url')
|
283 |
+
->addSessionParam()
|
284 |
+
->getUrl('*/downloadable_file/upload', array('type' => $type, '_secure' => true))
|
285 |
+
);
|
286 |
+
$this->getMiscConfig()
|
287 |
+
->setReplaceBrowseWithRemove(true)
|
288 |
+
;
|
289 |
+
return Mage::helper('core')->jsonEncode(parent::getJsonConfig());
|
290 |
+
}
|
291 |
+
|
292 |
+
/**
|
293 |
+
* @return string
|
294 |
+
*/
|
295 |
+
public function getBrowseButtonHtml($type = '')
|
296 |
+
{
|
297 |
+
return $this->getChild('browse_button')
|
298 |
+
// Workaround for IE9
|
299 |
+
->setBeforeHtml(
|
300 |
+
'<div style="display:inline-block; " id="downloadable_link_{{id}}_' . $type . 'file-browse">'
|
301 |
)
|
302 |
+
->setAfterHtml('</div>')
|
303 |
+
->setId('downloadable_link_{{id}}_' . $type . 'file-browse_button')
|
304 |
+
->toHtml();
|
|
|
|
|
305 |
}
|
306 |
|
307 |
+
|
308 |
/**
|
309 |
+
* @return string
|
310 |
+
*/
|
311 |
+
public function getDeleteButtonHtml($type = '')
|
312 |
+
{
|
313 |
+
return $this->getChild('delete_button')
|
314 |
+
->setLabel('')
|
315 |
+
->setId('downloadable_link_{{id}}_' . $type . 'file-delete')
|
316 |
+
->setStyle('display:none; width:31px;')
|
317 |
+
->toHtml();
|
318 |
+
}
|
319 |
+
|
320 |
+
/**
|
321 |
+
* Retrieve config object
|
322 |
*
|
323 |
+
* @deprecated
|
324 |
+
* @return $this
|
325 |
*/
|
326 |
public function getConfig()
|
327 |
{
|
328 |
+
return $this;
|
|
|
|
|
|
|
|
|
329 |
}
|
330 |
}
|
app/code/core/Mage/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Samples.php
CHANGED
@@ -32,7 +32,7 @@
|
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
class Mage_Downloadable_Block_Adminhtml_Catalog_Product_Edit_Tab_Downloadable_Samples
|
35 |
-
extends
|
36 |
{
|
37 |
/**
|
38 |
* Class constructor
|
@@ -148,6 +148,7 @@ class Mage_Downloadable_Block_Adminhtml_Catalog_Product_Edit_Tab_Downloadable_Sa
|
|
148 |
*/
|
149 |
protected function _prepareLayout()
|
150 |
{
|
|
|
151 |
$this->setChild(
|
152 |
'upload_button',
|
153 |
$this->getLayout()->createBlock('adminhtml/widget_button')
|
@@ -158,6 +159,11 @@ class Mage_Downloadable_Block_Adminhtml_Catalog_Product_Edit_Tab_Downloadable_Sa
|
|
158 |
'onclick' => 'Downloadable.massUploadByType(\'samples\')'
|
159 |
))
|
160 |
);
|
|
|
|
|
|
|
|
|
|
|
161 |
}
|
162 |
|
163 |
/**
|
@@ -171,40 +177,59 @@ class Mage_Downloadable_Block_Adminhtml_Catalog_Product_Edit_Tab_Downloadable_Sa
|
|
171 |
}
|
172 |
|
173 |
/**
|
174 |
-
*
|
175 |
*
|
176 |
* @return string
|
177 |
*/
|
178 |
public function getConfigJson()
|
179 |
{
|
180 |
-
$this->
|
181 |
-
->
|
182 |
-
->
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
));
|
191 |
-
$this->getConfig()->setReplaceBrowseWithRemove(true);
|
192 |
-
$this->getConfig()->setWidth('32');
|
193 |
-
$this->getConfig()->setHideUploadButton(true);
|
194 |
-
return Mage::helper('core')->jsonEncode($this->getConfig()->getData());
|
195 |
}
|
196 |
|
197 |
/**
|
198 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
199 |
*
|
200 |
-
* @
|
|
|
201 |
*/
|
202 |
public function getConfig()
|
203 |
{
|
204 |
-
|
205 |
-
$this->_config = new Varien_Object();
|
206 |
-
}
|
207 |
-
|
208 |
-
return $this->_config;
|
209 |
}
|
210 |
}
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
class Mage_Downloadable_Block_Adminhtml_Catalog_Product_Edit_Tab_Downloadable_Samples
|
35 |
+
extends Mage_Uploader_Block_Single
|
36 |
{
|
37 |
/**
|
38 |
* Class constructor
|
148 |
*/
|
149 |
protected function _prepareLayout()
|
150 |
{
|
151 |
+
parent::_prepareLayout();
|
152 |
$this->setChild(
|
153 |
'upload_button',
|
154 |
$this->getLayout()->createBlock('adminhtml/widget_button')
|
159 |
'onclick' => 'Downloadable.massUploadByType(\'samples\')'
|
160 |
))
|
161 |
);
|
162 |
+
|
163 |
+
$this->_addElementIdsMapping(array(
|
164 |
+
'container' => $this->getHtmlId() . '-new',
|
165 |
+
'delete' => $this->getHtmlId() . '-delete'
|
166 |
+
));
|
167 |
}
|
168 |
|
169 |
/**
|
177 |
}
|
178 |
|
179 |
/**
|
180 |
+
* Retrieve config json
|
181 |
*
|
182 |
* @return string
|
183 |
*/
|
184 |
public function getConfigJson()
|
185 |
{
|
186 |
+
$this->getUploaderConfig()
|
187 |
+
->setFileParameterName('samples')
|
188 |
+
->setTarget(
|
189 |
+
Mage::getModel('adminhtml/url')
|
190 |
+
->addSessionParam()
|
191 |
+
->getUrl('*/downloadable_file/upload', array('type' => 'samples', '_secure' => true))
|
192 |
+
);
|
193 |
+
$this->getMiscConfig()
|
194 |
+
->setReplaceBrowseWithRemove(true)
|
195 |
+
;
|
196 |
+
return Mage::helper('core')->jsonEncode(parent::getJsonConfig());
|
|
|
|
|
|
|
|
|
197 |
}
|
198 |
|
199 |
/**
|
200 |
+
* @return string
|
201 |
+
*/
|
202 |
+
public function getBrowseButtonHtml()
|
203 |
+
{
|
204 |
+
return $this->getChild('browse_button')
|
205 |
+
// Workaround for IE9
|
206 |
+
->setBeforeHtml('<div style="display:inline-block; " id="downloadable_sample_{{id}}_file-browse">')
|
207 |
+
->setAfterHtml('</div>')
|
208 |
+
->setId('downloadable_sample_{{id}}_file-browse_button')
|
209 |
+
->toHtml();
|
210 |
+
}
|
211 |
+
|
212 |
+
|
213 |
+
/**
|
214 |
+
* @return string
|
215 |
+
*/
|
216 |
+
public function getDeleteButtonHtml()
|
217 |
+
{
|
218 |
+
return $this->getChild('delete_button')
|
219 |
+
->setLabel('')
|
220 |
+
->setId('downloadable_sample_{{id}}_file-delete')
|
221 |
+
->setStyle('display:none; width:31px;')
|
222 |
+
->toHtml();
|
223 |
+
}
|
224 |
+
|
225 |
+
/**
|
226 |
+
* Retrieve config object
|
227 |
*
|
228 |
+
* @deprecated
|
229 |
+
* @return $this
|
230 |
*/
|
231 |
public function getConfig()
|
232 |
{
|
233 |
+
return $this;
|
|
|
|
|
|
|
|
|
234 |
}
|
235 |
}
|
app/code/core/Mage/Downloadable/Helper/File.php
CHANGED
@@ -33,15 +33,35 @@
|
|
33 |
*/
|
34 |
class Mage_Downloadable_Helper_File extends Mage_Core_Helper_Abstract
|
35 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
public function __construct()
|
37 |
{
|
38 |
-
$
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
|
|
|
|
|
|
|
|
44 |
}
|
|
|
|
|
45 |
}
|
46 |
|
47 |
/**
|
@@ -152,628 +172,48 @@ class Mage_Downloadable_Helper_File extends Mage_Core_Helper_Abstract
|
|
152 |
return $file;
|
153 |
}
|
154 |
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
public function getFileType($filePath)
|
156 |
{
|
157 |
$ext = substr($filePath, strrpos($filePath, '.')+1);
|
158 |
return $this->_getFileTypeByExt($ext);
|
159 |
}
|
160 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
protected function _getFileTypeByExt($ext)
|
162 |
{
|
163 |
-
|
164 |
-
if (isset(self::$_mimeTypes[$type])) {
|
165 |
-
return self::$_mimeTypes[$type];
|
166 |
-
}
|
167 |
-
return 'application/octet-stream';
|
168 |
}
|
169 |
|
|
|
|
|
|
|
|
|
|
|
170 |
public function getAllFileTypes()
|
171 |
{
|
172 |
-
return array_values(
|
173 |
}
|
174 |
|
|
|
|
|
|
|
|
|
|
|
175 |
public function getAllMineTypes()
|
176 |
{
|
177 |
-
return
|
178 |
}
|
179 |
|
180 |
-
protected static $_mimeTypes =
|
181 |
-
array(
|
182 |
-
'x123' => 'application/vnd.lotus-1-2-3',
|
183 |
-
'x3dml' => 'text/vnd.in3d.3dml',
|
184 |
-
'x3g2' => 'video/3gpp2',
|
185 |
-
'x3gp' => 'video/3gpp',
|
186 |
-
'xace' => 'application/x-ace-compressed',
|
187 |
-
'xacu' => 'application/vnd.acucobol',
|
188 |
-
'xaep' => 'application/vnd.audiograph',
|
189 |
-
'xai' => 'application/postscript',
|
190 |
-
'xaif' => 'audio/x-aiff',
|
191 |
-
|
192 |
-
'xaifc' => 'audio/x-aiff',
|
193 |
-
'xaiff' => 'audio/x-aiff',
|
194 |
-
'xami' => 'application/vnd.amiga.ami',
|
195 |
-
'xapr' => 'application/vnd.lotus-approach',
|
196 |
-
'xasf' => 'video/x-ms-asf',
|
197 |
-
'xaso' => 'application/vnd.accpac.simply.aso',
|
198 |
-
'xasx' => 'video/x-ms-asf',
|
199 |
-
'xatom' => 'application/atom+xml',
|
200 |
-
'xatomcat' => 'application/atomcat+xml',
|
201 |
-
|
202 |
-
'xatomsvc' => 'application/atomsvc+xml',
|
203 |
-
'xatx' => 'application/vnd.antix.game-component',
|
204 |
-
'xau' => 'audio/basic',
|
205 |
-
'xavi' => 'video/x-msvideo',
|
206 |
-
'xbat' => 'application/x-msdownload',
|
207 |
-
'xbcpio' => 'application/x-bcpio',
|
208 |
-
'xbdm' => 'application/vnd.syncml.dm+wbxml',
|
209 |
-
'xbh2' => 'application/vnd.fujitsu.oasysprs',
|
210 |
-
'xbmi' => 'application/vnd.bmi',
|
211 |
-
|
212 |
-
'xbmp' => 'image/bmp',
|
213 |
-
'xbox' => 'application/vnd.previewsystems.box',
|
214 |
-
'xboz' => 'application/x-bzip2',
|
215 |
-
'xbtif' => 'image/prs.btif',
|
216 |
-
'xbz' => 'application/x-bzip',
|
217 |
-
'xbz2' => 'application/x-bzip2',
|
218 |
-
'xcab' => 'application/vnd.ms-cab-compressed',
|
219 |
-
'xccxml' => 'application/ccxml+xml',
|
220 |
-
'xcdbcmsg' => 'application/vnd.contact.cmsg',
|
221 |
-
|
222 |
-
'xcdkey' => 'application/vnd.mediastation.cdkey',
|
223 |
-
'xcdx' => 'chemical/x-cdx',
|
224 |
-
'xcdxml' => 'application/vnd.chemdraw+xml',
|
225 |
-
'xcdy' => 'application/vnd.cinderella',
|
226 |
-
'xcer' => 'application/pkix-cert',
|
227 |
-
'xcgm' => 'image/cgm',
|
228 |
-
'xchat' => 'application/x-chat',
|
229 |
-
'xchm' => 'application/vnd.ms-htmlhelp',
|
230 |
-
'xchrt' => 'application/vnd.kde.kchart',
|
231 |
-
|
232 |
-
'xcif' => 'chemical/x-cif',
|
233 |
-
'xcii' => 'application/vnd.anser-web-certificate-issue-initiation',
|
234 |
-
'xcil' => 'application/vnd.ms-artgalry',
|
235 |
-
'xcla' => 'application/vnd.claymore',
|
236 |
-
'xclkk' => 'application/vnd.crick.clicker.keyboard',
|
237 |
-
'xclkp' => 'application/vnd.crick.clicker.palette',
|
238 |
-
'xclkt' => 'application/vnd.crick.clicker.template',
|
239 |
-
'xclkw' => 'application/vnd.crick.clicker.wordbank',
|
240 |
-
'xclkx' => 'application/vnd.crick.clicker',
|
241 |
-
|
242 |
-
'xclp' => 'application/x-msclip',
|
243 |
-
'xcmc' => 'application/vnd.cosmocaller',
|
244 |
-
'xcmdf' => 'chemical/x-cmdf',
|
245 |
-
'xcml' => 'chemical/x-cml',
|
246 |
-
'xcmp' => 'application/vnd.yellowriver-custom-menu',
|
247 |
-
'xcmx' => 'image/x-cmx',
|
248 |
-
'xcom' => 'application/x-msdownload',
|
249 |
-
'xconf' => 'text/plain',
|
250 |
-
'xcpio' => 'application/x-cpio',
|
251 |
-
|
252 |
-
'xcpt' => 'application/mac-compactpro',
|
253 |
-
'xcrd' => 'application/x-mscardfile',
|
254 |
-
'xcrl' => 'application/pkix-crl',
|
255 |
-
'xcrt' => 'application/x-x509-ca-cert',
|
256 |
-
'xcsh' => 'application/x-csh',
|
257 |
-
'xcsml' => 'chemical/x-csml',
|
258 |
-
'xcss' => 'text/css',
|
259 |
-
'xcsv' => 'text/csv',
|
260 |
-
'xcurl' => 'application/vnd.curl',
|
261 |
-
|
262 |
-
'xcww' => 'application/prs.cww',
|
263 |
-
'xdaf' => 'application/vnd.mobius.daf',
|
264 |
-
'xdavmount' => 'application/davmount+xml',
|
265 |
-
'xdd2' => 'application/vnd.oma.dd2+xml',
|
266 |
-
'xddd' => 'application/vnd.fujixerox.ddd',
|
267 |
-
'xdef' => 'text/plain',
|
268 |
-
'xder' => 'application/x-x509-ca-cert',
|
269 |
-
'xdfac' => 'application/vnd.dreamfactory',
|
270 |
-
'xdis' => 'application/vnd.mobius.dis',
|
271 |
-
|
272 |
-
'xdjv' => 'image/vnd.djvu',
|
273 |
-
'xdjvu' => 'image/vnd.djvu',
|
274 |
-
'xdll' => 'application/x-msdownload',
|
275 |
-
'xdna' => 'application/vnd.dna',
|
276 |
-
'xdoc' => 'application/msword',
|
277 |
-
'xdot' => 'application/msword',
|
278 |
-
'xdp' => 'application/vnd.osgi.dp',
|
279 |
-
'xdpg' => 'application/vnd.dpgraph',
|
280 |
-
'xdsc' => 'text/prs.lines.tag',
|
281 |
-
|
282 |
-
'xdtd' => 'application/xml-dtd',
|
283 |
-
'xdvi' => 'application/x-dvi',
|
284 |
-
'xdwf' => 'model/vnd.dwf',
|
285 |
-
'xdwg' => 'image/vnd.dwg',
|
286 |
-
'xdxf' => 'image/vnd.dxf',
|
287 |
-
'xdxp' => 'application/vnd.spotfire.dxp',
|
288 |
-
'xecelp4800' => 'audio/vnd.nuera.ecelp4800',
|
289 |
-
'xecelp7470' => 'audio/vnd.nuera.ecelp7470',
|
290 |
-
'xecelp9600' => 'audio/vnd.nuera.ecelp9600',
|
291 |
-
|
292 |
-
'xecma' => 'application/ecmascript',
|
293 |
-
'xedm' => 'application/vnd.novadigm.edm',
|
294 |
-
'xedx' => 'application/vnd.novadigm.edx',
|
295 |
-
'xefif' => 'application/vnd.picsel',
|
296 |
-
'xei6' => 'application/vnd.pg.osasli',
|
297 |
-
'xeml' => 'message/rfc822',
|
298 |
-
'xeol' => 'audio/vnd.digital-winds',
|
299 |
-
'xeot' => 'application/vnd.ms-fontobject',
|
300 |
-
'xeps' => 'application/postscript',
|
301 |
-
|
302 |
-
'xesf' => 'application/vnd.epson.esf',
|
303 |
-
'xetx' => 'text/x-setext',
|
304 |
-
'xexe' => 'application/x-msdownload',
|
305 |
-
'xext' => 'application/vnd.novadigm.ext',
|
306 |
-
'xez' => 'application/andrew-inset',
|
307 |
-
'xez2' => 'application/vnd.ezpix-album',
|
308 |
-
'xez3' => 'application/vnd.ezpix-package',
|
309 |
-
'xfbs' => 'image/vnd.fastbidsheet',
|
310 |
-
'xfdf' => 'application/vnd.fdf',
|
311 |
-
|
312 |
-
'xfe_launch' => 'application/vnd.denovo.fcselayout-link',
|
313 |
-
'xfg5' => 'application/vnd.fujitsu.oasysgp',
|
314 |
-
'xfli' => 'video/x-fli',
|
315 |
-
'xflo' => 'application/vnd.micrografx.flo',
|
316 |
-
'xflw' => 'application/vnd.kde.kivio',
|
317 |
-
'xflx' => 'text/vnd.fmi.flexstor',
|
318 |
-
'xfly' => 'text/vnd.fly',
|
319 |
-
'xfnc' => 'application/vnd.frogans.fnc',
|
320 |
-
'xfpx' => 'image/vnd.fpx',
|
321 |
-
|
322 |
-
'xfsc' => 'application/vnd.fsc.weblaunch',
|
323 |
-
'xfst' => 'image/vnd.fst',
|
324 |
-
'xftc' => 'application/vnd.fluxtime.clip',
|
325 |
-
'xfti' => 'application/vnd.anser-web-funds-transfer-initiation',
|
326 |
-
'xfvt' => 'video/vnd.fvt',
|
327 |
-
'xfzs' => 'application/vnd.fuzzysheet',
|
328 |
-
'xg3' => 'image/g3fax',
|
329 |
-
'xgac' => 'application/vnd.groove-account',
|
330 |
-
'xgdl' => 'model/vnd.gdl',
|
331 |
-
|
332 |
-
'xghf' => 'application/vnd.groove-help',
|
333 |
-
'xgif' => 'image/gif',
|
334 |
-
'xgim' => 'application/vnd.groove-identity-message',
|
335 |
-
'xgph' => 'application/vnd.flographit',
|
336 |
-
'xgram' => 'application/srgs',
|
337 |
-
'xgrv' => 'application/vnd.groove-injector',
|
338 |
-
'xgrxml' => 'application/srgs+xml',
|
339 |
-
'xgtar' => 'application/x-gtar',
|
340 |
-
'xgtm' => 'application/vnd.groove-tool-message',
|
341 |
-
|
342 |
-
'xgtw' => 'model/vnd.gtw',
|
343 |
-
'xh261' => 'video/h261',
|
344 |
-
'xh263' => 'video/h263',
|
345 |
-
'xh264' => 'video/h264',
|
346 |
-
'xhbci' => 'application/vnd.hbci',
|
347 |
-
'xhdf' => 'application/x-hdf',
|
348 |
-
'xhlp' => 'application/winhlp',
|
349 |
-
'xhpgl' => 'application/vnd.hp-hpgl',
|
350 |
-
'xhpid' => 'application/vnd.hp-hpid',
|
351 |
-
|
352 |
-
'xhps' => 'application/vnd.hp-hps',
|
353 |
-
'xhqx' => 'application/mac-binhex40',
|
354 |
-
'xhtke' => 'application/vnd.kenameaapp',
|
355 |
-
'xhtm' => 'text/html',
|
356 |
-
'xhtml' => 'text/html',
|
357 |
-
'xhvd' => 'application/vnd.yamaha.hv-dic',
|
358 |
-
'xhvp' => 'application/vnd.yamaha.hv-voice',
|
359 |
-
'xhvs' => 'application/vnd.yamaha.hv-script',
|
360 |
-
'xice' => '#x-conference/x-cooltalk',
|
361 |
-
|
362 |
-
'xico' => 'image/x-icon',
|
363 |
-
'xics' => 'text/calendar',
|
364 |
-
'xief' => 'image/ief',
|
365 |
-
'xifb' => 'text/calendar',
|
366 |
-
'xifm' => 'application/vnd.shana.informed.formdata',
|
367 |
-
'xigl' => 'application/vnd.igloader',
|
368 |
-
'xigx' => 'application/vnd.micrografx.igx',
|
369 |
-
'xiif' => 'application/vnd.shana.informed.interchange',
|
370 |
-
'ximp' => 'application/vnd.accpac.simply.imp',
|
371 |
-
|
372 |
-
'xims' => 'application/vnd.ms-ims',
|
373 |
-
'xin' => 'text/plain',
|
374 |
-
'xipk' => 'application/vnd.shana.informed.package',
|
375 |
-
'xirm' => 'application/vnd.ibm.rights-management',
|
376 |
-
'xirp' => 'application/vnd.irepository.package+xml',
|
377 |
-
'xitp' => 'application/vnd.shana.informed.formtemplate',
|
378 |
-
'xivp' => 'application/vnd.immervision-ivp',
|
379 |
-
'xivu' => 'application/vnd.immervision-ivu',
|
380 |
-
'xjad' => 'text/vnd.sun.j2me.app-descriptor',
|
381 |
-
|
382 |
-
'xjam' => 'application/vnd.jam',
|
383 |
-
'xjava' => 'text/x-java-source',
|
384 |
-
'xjisp' => 'application/vnd.jisp',
|
385 |
-
'xjlt' => 'application/vnd.hp-jlyt',
|
386 |
-
'xjoda' => 'application/vnd.joost.joda-archive',
|
387 |
-
'xjpe' => 'image/jpeg',
|
388 |
-
'xjpeg' => 'image/jpeg',
|
389 |
-
'xjpg' => 'image/jpeg',
|
390 |
-
'xjpgm' => 'video/jpm',
|
391 |
-
|
392 |
-
'xjpgv' => 'video/jpeg',
|
393 |
-
'xjpm' => 'video/jpm',
|
394 |
-
'xjs' => 'application/javascript',
|
395 |
-
'xjson' => 'application/json',
|
396 |
-
'xkar' => 'audio/midi',
|
397 |
-
'xkarbon' => 'application/vnd.kde.karbon',
|
398 |
-
'xkfo' => 'application/vnd.kde.kformula',
|
399 |
-
'xkia' => 'application/vnd.kidspiration',
|
400 |
-
'xkml' => 'application/vnd.google-earth.kml+xml',
|
401 |
-
|
402 |
-
'xkmz' => 'application/vnd.google-earth.kmz',
|
403 |
-
'xkon' => 'application/vnd.kde.kontour',
|
404 |
-
'xksp' => 'application/vnd.kde.kspread',
|
405 |
-
'xlatex' => 'application/x-latex',
|
406 |
-
'xlbd' => 'application/vnd.llamagraphics.life-balance.desktop',
|
407 |
-
'xlbe' => 'application/vnd.llamagraphics.life-balance.exchange+xml',
|
408 |
-
'xles' => 'application/vnd.hhe.lesson-player',
|
409 |
-
'xlist' => 'text/plain',
|
410 |
-
'xlog' => 'text/plain',
|
411 |
-
|
412 |
-
'xlrm' => 'application/vnd.ms-lrm',
|
413 |
-
'xltf' => 'application/vnd.frogans.ltf',
|
414 |
-
'xlvp' => 'audio/vnd.lucent.voice',
|
415 |
-
'xlwp' => 'application/vnd.lotus-wordpro',
|
416 |
-
'xm13' => 'application/x-msmediaview',
|
417 |
-
'xm14' => 'application/x-msmediaview',
|
418 |
-
'xm1v' => 'video/mpeg',
|
419 |
-
'xm2a' => 'audio/mpeg',
|
420 |
-
'xm3a' => 'audio/mpeg',
|
421 |
-
|
422 |
-
'xm3u' => 'audio/x-mpegurl',
|
423 |
-
'xm4u' => 'video/vnd.mpegurl',
|
424 |
-
'xmag' => 'application/vnd.ecowin.chart',
|
425 |
-
'xmathml' => 'application/mathml+xml',
|
426 |
-
'xmbk' => 'application/vnd.mobius.mbk',
|
427 |
-
'xmbox' => 'application/mbox',
|
428 |
-
'xmc1' => 'application/vnd.medcalcdata',
|
429 |
-
'xmcd' => 'application/vnd.mcd',
|
430 |
-
'xmdb' => 'application/x-msaccess',
|
431 |
-
|
432 |
-
'xmdi' => 'image/vnd.ms-modi',
|
433 |
-
'xmesh' => 'model/mesh',
|
434 |
-
'xmfm' => 'application/vnd.mfmp',
|
435 |
-
'xmgz' => 'application/vnd.proteus.magazine',
|
436 |
-
'xmid' => 'audio/midi',
|
437 |
-
'xmidi' => 'audio/midi',
|
438 |
-
'xmif' => 'application/vnd.mif',
|
439 |
-
'xmime' => 'message/rfc822',
|
440 |
-
'xmj2' => 'video/mj2',
|
441 |
-
|
442 |
-
'xmjp2' => 'video/mj2',
|
443 |
-
'xmlp' => 'application/vnd.dolby.mlp',
|
444 |
-
'xmmd' => 'application/vnd.chipnuts.karaoke-mmd',
|
445 |
-
'xmmf' => 'application/vnd.smaf',
|
446 |
-
'xmmr' => 'image/vnd.fujixerox.edmics-mmr',
|
447 |
-
'xmny' => 'application/x-msmoney',
|
448 |
-
'xmov' => 'video/quicktime',
|
449 |
-
'xmovie' => 'video/x-sgi-movie',
|
450 |
-
'xmp2' => 'audio/mpeg',
|
451 |
-
|
452 |
-
'xmp2a' => 'audio/mpeg',
|
453 |
-
'xmp3' => 'audio/mpeg',
|
454 |
-
'xmp4' => 'video/mp4',
|
455 |
-
'xmp4a' => 'audio/mp4',
|
456 |
-
'xmp4s' => 'application/mp4',
|
457 |
-
'xmp4v' => 'video/mp4',
|
458 |
-
'xmpc' => 'application/vnd.mophun.certificate',
|
459 |
-
'xmpe' => 'video/mpeg',
|
460 |
-
'xmpeg' => 'video/mpeg',
|
461 |
-
|
462 |
-
'xmpg' => 'video/mpeg',
|
463 |
-
'xmpg4' => 'video/mp4',
|
464 |
-
'xmpga' => 'audio/mpeg',
|
465 |
-
'xmpkg' => 'application/vnd.apple.installer+xml',
|
466 |
-
'xmpm' => 'application/vnd.blueice.multipass',
|
467 |
-
'xmpn' => 'application/vnd.mophun.application',
|
468 |
-
'xmpp' => 'application/vnd.ms-project',
|
469 |
-
'xmpt' => 'application/vnd.ms-project',
|
470 |
-
'xmpy' => 'application/vnd.ibm.minipay',
|
471 |
-
|
472 |
-
'xmqy' => 'application/vnd.mobius.mqy',
|
473 |
-
'xmrc' => 'application/marc',
|
474 |
-
'xmscml' => 'application/mediaservercontrol+xml',
|
475 |
-
'xmseq' => 'application/vnd.mseq',
|
476 |
-
'xmsf' => 'application/vnd.epson.msf',
|
477 |
-
'xmsh' => 'model/mesh',
|
478 |
-
'xmsi' => 'application/x-msdownload',
|
479 |
-
'xmsl' => 'application/vnd.mobius.msl',
|
480 |
-
'xmsty' => 'application/vnd.muvee.style',
|
481 |
-
|
482 |
-
'xmts' => 'model/vnd.mts',
|
483 |
-
'xmus' => 'application/vnd.musician',
|
484 |
-
'xmvb' => 'application/x-msmediaview',
|
485 |
-
'xmwf' => 'application/vnd.mfer',
|
486 |
-
'xmxf' => 'application/mxf',
|
487 |
-
'xmxl' => 'application/vnd.recordare.musicxml',
|
488 |
-
'xmxml' => 'application/xv+xml',
|
489 |
-
'xmxs' => 'application/vnd.triscape.mxs',
|
490 |
-
'xmxu' => 'video/vnd.mpegurl',
|
491 |
-
|
492 |
-
'xn-gage' => 'application/vnd.nokia.n-gage.symbian.install',
|
493 |
-
'xngdat' => 'application/vnd.nokia.n-gage.data',
|
494 |
-
'xnlu' => 'application/vnd.neurolanguage.nlu',
|
495 |
-
'xnml' => 'application/vnd.enliven',
|
496 |
-
'xnnd' => 'application/vnd.noblenet-directory',
|
497 |
-
'xnns' => 'application/vnd.noblenet-sealer',
|
498 |
-
'xnnw' => 'application/vnd.noblenet-web',
|
499 |
-
'xnpx' => 'image/vnd.net-fpx',
|
500 |
-
'xnsf' => 'application/vnd.lotus-notes',
|
501 |
-
|
502 |
-
'xoa2' => 'application/vnd.fujitsu.oasys2',
|
503 |
-
'xoa3' => 'application/vnd.fujitsu.oasys3',
|
504 |
-
'xoas' => 'application/vnd.fujitsu.oasys',
|
505 |
-
'xobd' => 'application/x-msbinder',
|
506 |
-
'xoda' => 'application/oda',
|
507 |
-
'xodc' => 'application/vnd.oasis.opendocument.chart',
|
508 |
-
'xodf' => 'application/vnd.oasis.opendocument.formula',
|
509 |
-
'xodg' => 'application/vnd.oasis.opendocument.graphics',
|
510 |
-
'xodi' => 'application/vnd.oasis.opendocument.image',
|
511 |
-
|
512 |
-
'xodp' => 'application/vnd.oasis.opendocument.presentation',
|
513 |
-
'xods' => 'application/vnd.oasis.opendocument.spreadsheet',
|
514 |
-
'xodt' => 'application/vnd.oasis.opendocument.text',
|
515 |
-
'xogg' => 'application/ogg',
|
516 |
-
'xoprc' => 'application/vnd.palm',
|
517 |
-
'xorg' => 'application/vnd.lotus-organizer',
|
518 |
-
'xotc' => 'application/vnd.oasis.opendocument.chart-template',
|
519 |
-
'xotf' => 'application/vnd.oasis.opendocument.formula-template',
|
520 |
-
'xotg' => 'application/vnd.oasis.opendocument.graphics-template',
|
521 |
-
|
522 |
-
'xoth' => 'application/vnd.oasis.opendocument.text-web',
|
523 |
-
'xoti' => 'application/vnd.oasis.opendocument.image-template',
|
524 |
-
'xotm' => 'application/vnd.oasis.opendocument.text-master',
|
525 |
-
'xots' => 'application/vnd.oasis.opendocument.spreadsheet-template',
|
526 |
-
'xott' => 'application/vnd.oasis.opendocument.text-template',
|
527 |
-
'xoxt' => 'application/vnd.openofficeorg.extension',
|
528 |
-
'xp10' => 'application/pkcs10',
|
529 |
-
'xp7r' => 'application/x-pkcs7-certreqresp',
|
530 |
-
'xp7s' => 'application/pkcs7-signature',
|
531 |
-
|
532 |
-
'xpbd' => 'application/vnd.powerbuilder6',
|
533 |
-
'xpbm' => 'image/x-portable-bitmap',
|
534 |
-
'xpcl' => 'application/vnd.hp-pcl',
|
535 |
-
'xpclxl' => 'application/vnd.hp-pclxl',
|
536 |
-
'xpct' => 'image/x-pict',
|
537 |
-
'xpcx' => 'image/x-pcx',
|
538 |
-
'xpdb' => 'chemical/x-pdb',
|
539 |
-
'xpdf' => 'application/pdf',
|
540 |
-
'xpfr' => 'application/font-tdpfr',
|
541 |
-
|
542 |
-
'xpgm' => 'image/x-portable-graymap',
|
543 |
-
'xpgn' => 'application/x-chess-pgn',
|
544 |
-
'xpgp' => 'application/pgp-encrypted',
|
545 |
-
'xpic' => 'image/x-pict',
|
546 |
-
'xpki' => 'application/pkixcmp',
|
547 |
-
'xpkipath' => 'application/pkix-pkipath',
|
548 |
-
'xplb' => 'application/vnd.3gpp.pic-bw-large',
|
549 |
-
'xplc' => 'application/vnd.mobius.plc',
|
550 |
-
'xplf' => 'application/vnd.pocketlearn',
|
551 |
-
|
552 |
-
'xpls' => 'application/pls+xml',
|
553 |
-
'xpml' => 'application/vnd.ctc-posml',
|
554 |
-
'xpng' => 'image/png',
|
555 |
-
'xpnm' => 'image/x-portable-anymap',
|
556 |
-
'xportpkg' => 'application/vnd.macports.portpkg',
|
557 |
-
'xpot' => 'application/vnd.ms-powerpoint',
|
558 |
-
'xppd' => 'application/vnd.cups-ppd',
|
559 |
-
'xppm' => 'image/x-portable-pixmap',
|
560 |
-
'xpps' => 'application/vnd.ms-powerpoint',
|
561 |
-
|
562 |
-
'xppt' => 'application/vnd.ms-powerpoint',
|
563 |
-
'xpqa' => 'application/vnd.palm',
|
564 |
-
'xprc' => 'application/vnd.palm',
|
565 |
-
'xpre' => 'application/vnd.lotus-freelance',
|
566 |
-
'xprf' => 'application/pics-rules',
|
567 |
-
'xps' => 'application/postscript',
|
568 |
-
'xpsb' => 'application/vnd.3gpp.pic-bw-small',
|
569 |
-
'xpsd' => 'image/vnd.adobe.photoshop',
|
570 |
-
'xptid' => 'application/vnd.pvi.ptid1',
|
571 |
-
|
572 |
-
'xpub' => 'application/x-mspublisher',
|
573 |
-
'xpvb' => 'application/vnd.3gpp.pic-bw-var',
|
574 |
-
'xpwn' => 'application/vnd.3m.post-it-notes',
|
575 |
-
'xqam' => 'application/vnd.epson.quickanime',
|
576 |
-
'xqbo' => 'application/vnd.intu.qbo',
|
577 |
-
'xqfx' => 'application/vnd.intu.qfx',
|
578 |
-
'xqps' => 'application/vnd.publishare-delta-tree',
|
579 |
-
'xqt' => 'video/quicktime',
|
580 |
-
'xra' => 'audio/x-pn-realaudio',
|
581 |
-
|
582 |
-
'xram' => 'audio/x-pn-realaudio',
|
583 |
-
'xrar' => 'application/x-rar-compressed',
|
584 |
-
'xras' => 'image/x-cmu-raster',
|
585 |
-
'xrcprofile' => 'application/vnd.ipunplugged.rcprofile',
|
586 |
-
'xrdf' => 'application/rdf+xml',
|
587 |
-
'xrdz' => 'application/vnd.data-vision.rdz',
|
588 |
-
'xrep' => 'application/vnd.businessobjects',
|
589 |
-
'xrgb' => 'image/x-rgb',
|
590 |
-
'xrif' => 'application/reginfo+xml',
|
591 |
-
|
592 |
-
'xrl' => 'application/resource-lists+xml',
|
593 |
-
'xrlc' => 'image/vnd.fujixerox.edmics-rlc',
|
594 |
-
'xrm' => 'application/vnd.rn-realmedia',
|
595 |
-
'xrmi' => 'audio/midi',
|
596 |
-
'xrmp' => 'audio/x-pn-realaudio-plugin',
|
597 |
-
'xrms' => 'application/vnd.jcp.javame.midlet-rms',
|
598 |
-
'xrnc' => 'application/relax-ng-compact-syntax',
|
599 |
-
'xrpss' => 'application/vnd.nokia.radio-presets',
|
600 |
-
'xrpst' => 'application/vnd.nokia.radio-preset',
|
601 |
-
|
602 |
-
'xrq' => 'application/sparql-query',
|
603 |
-
'xrs' => 'application/rls-services+xml',
|
604 |
-
'xrsd' => 'application/rsd+xml',
|
605 |
-
'xrss' => 'application/rss+xml',
|
606 |
-
'xrtf' => 'application/rtf',
|
607 |
-
'xrtx' => 'text/richtext',
|
608 |
-
'xsaf' => 'application/vnd.yamaha.smaf-audio',
|
609 |
-
'xsbml' => 'application/sbml+xml',
|
610 |
-
'xsc' => 'application/vnd.ibm.secure-container',
|
611 |
-
|
612 |
-
'xscd' => 'application/x-msschedule',
|
613 |
-
'xscm' => 'application/vnd.lotus-screencam',
|
614 |
-
'xscq' => 'application/scvp-cv-request',
|
615 |
-
'xscs' => 'application/scvp-cv-response',
|
616 |
-
'xsdp' => 'application/sdp',
|
617 |
-
'xsee' => 'application/vnd.seemail',
|
618 |
-
'xsema' => 'application/vnd.sema',
|
619 |
-
'xsemd' => 'application/vnd.semd',
|
620 |
-
'xsemf' => 'application/vnd.semf',
|
621 |
-
|
622 |
-
'xsetpay' => 'application/set-payment-initiation',
|
623 |
-
'xsetreg' => 'application/set-registration-initiation',
|
624 |
-
'xsfs' => 'application/vnd.spotfire.sfs',
|
625 |
-
'xsgm' => 'text/sgml',
|
626 |
-
'xsgml' => 'text/sgml',
|
627 |
-
'xsh' => 'application/x-sh',
|
628 |
-
'xshar' => 'application/x-shar',
|
629 |
-
'xshf' => 'application/shf+xml',
|
630 |
-
'xsilo' => 'model/mesh',
|
631 |
-
|
632 |
-
'xsit' => 'application/x-stuffit',
|
633 |
-
'xsitx' => 'application/x-stuffitx',
|
634 |
-
'xslt' => 'application/vnd.epson.salt',
|
635 |
-
'xsnd' => 'audio/basic',
|
636 |
-
'xspf' => 'application/vnd.yamaha.smaf-phrase',
|
637 |
-
'xspl' => 'application/x-futuresplash',
|
638 |
-
'xspot' => 'text/vnd.in3d.spot',
|
639 |
-
'xspp' => 'application/scvp-vp-response',
|
640 |
-
'xspq' => 'application/scvp-vp-request',
|
641 |
-
|
642 |
-
'xsrc' => 'application/x-wais-source',
|
643 |
-
'xsrx' => 'application/sparql-results+xml',
|
644 |
-
'xssf' => 'application/vnd.epson.ssf',
|
645 |
-
'xssml' => 'application/ssml+xml',
|
646 |
-
'xstf' => 'application/vnd.wt.stf',
|
647 |
-
'xstk' => 'application/hyperstudio',
|
648 |
-
'xstr' => 'application/vnd.pg.format',
|
649 |
-
'xsus' => 'application/vnd.sus-calendar',
|
650 |
-
'xsusp' => 'application/vnd.sus-calendar',
|
651 |
-
|
652 |
-
'xsv4cpio' => 'application/x-sv4cpio',
|
653 |
-
'xsv4crc' => 'application/x-sv4crc',
|
654 |
-
'xsvd' => 'application/vnd.svd',
|
655 |
-
'xswf' => 'application/x-shockwave-flash',
|
656 |
-
'xtao' => 'application/vnd.tao.intent-module-archive',
|
657 |
-
'xtar' => 'application/x-tar',
|
658 |
-
'xtcap' => 'application/vnd.3gpp2.tcap',
|
659 |
-
'xtcl' => 'application/x-tcl',
|
660 |
-
'xtex' => 'application/x-tex',
|
661 |
-
|
662 |
-
'xtext' => 'text/plain',
|
663 |
-
'xtif' => 'image/tiff',
|
664 |
-
'xtiff' => 'image/tiff',
|
665 |
-
'xtmo' => 'application/vnd.tmobile-livetv',
|
666 |
-
'xtorrent' => 'application/x-bittorrent',
|
667 |
-
'xtpl' => 'application/vnd.groove-tool-template',
|
668 |
-
'xtpt' => 'application/vnd.trid.tpt',
|
669 |
-
'xtra' => 'application/vnd.trueapp',
|
670 |
-
'xtrm' => 'application/x-msterminal',
|
671 |
-
|
672 |
-
'xtsv' => 'text/tab-separated-values',
|
673 |
-
'xtxd' => 'application/vnd.genomatix.tuxedo',
|
674 |
-
'xtxf' => 'application/vnd.mobius.txf',
|
675 |
-
'xtxt' => 'text/plain',
|
676 |
-
'xumj' => 'application/vnd.umajin',
|
677 |
-
'xunityweb' => 'application/vnd.unity',
|
678 |
-
'xuoml' => 'application/vnd.uoml+xml',
|
679 |
-
'xuri' => 'text/uri-list',
|
680 |
-
'xuris' => 'text/uri-list',
|
681 |
-
|
682 |
-
'xurls' => 'text/uri-list',
|
683 |
-
'xustar' => 'application/x-ustar',
|
684 |
-
'xutz' => 'application/vnd.uiq.theme',
|
685 |
-
'xuu' => 'text/x-uuencode',
|
686 |
-
'xvcd' => 'application/x-cdlink',
|
687 |
-
'xvcf' => 'text/x-vcard',
|
688 |
-
'xvcg' => 'application/vnd.groove-vcard',
|
689 |
-
'xvcs' => 'text/x-vcalendar',
|
690 |
-
'xvcx' => 'application/vnd.vcx',
|
691 |
-
|
692 |
-
'xvis' => 'application/vnd.visionary',
|
693 |
-
'xviv' => 'video/vnd.vivo',
|
694 |
-
'xvrml' => 'model/vrml',
|
695 |
-
'xvsd' => 'application/vnd.visio',
|
696 |
-
'xvsf' => 'application/vnd.vsf',
|
697 |
-
'xvss' => 'application/vnd.visio',
|
698 |
-
'xvst' => 'application/vnd.visio',
|
699 |
-
'xvsw' => 'application/vnd.visio',
|
700 |
-
'xvtu' => 'model/vnd.vtu',
|
701 |
-
|
702 |
-
'xvxml' => 'application/voicexml+xml',
|
703 |
-
'xwav' => 'audio/x-wav',
|
704 |
-
'xwax' => 'audio/x-ms-wax',
|
705 |
-
'xwbmp' => 'image/vnd.wap.wbmp',
|
706 |
-
'xwbs' => 'application/vnd.criticaltools.wbs+xml',
|
707 |
-
'xwbxml' => 'application/vnd.wap.wbxml',
|
708 |
-
'xwcm' => 'application/vnd.ms-works',
|
709 |
-
'xwdb' => 'application/vnd.ms-works',
|
710 |
-
'xwks' => 'application/vnd.ms-works',
|
711 |
-
|
712 |
-
'xwm' => 'video/x-ms-wm',
|
713 |
-
'xwma' => 'audio/x-ms-wma',
|
714 |
-
'xwmd' => 'application/x-ms-wmd',
|
715 |
-
'xwmf' => 'application/x-msmetafile',
|
716 |
-
'xwml' => 'text/vnd.wap.wml',
|
717 |
-
'xwmlc' => 'application/vnd.wap.wmlc',
|
718 |
-
'xwmls' => 'text/vnd.wap.wmlscript',
|
719 |
-
'xwmlsc' => 'application/vnd.wap.wmlscriptc',
|
720 |
-
'xwmv' => 'video/x-ms-wmv',
|
721 |
-
|
722 |
-
'xwmx' => 'video/x-ms-wmx',
|
723 |
-
'xwmz' => 'application/x-ms-wmz',
|
724 |
-
'xwpd' => 'application/vnd.wordperfect',
|
725 |
-
'xwpl' => 'application/vnd.ms-wpl',
|
726 |
-
'xwps' => 'application/vnd.ms-works',
|
727 |
-
'xwqd' => 'application/vnd.wqd',
|
728 |
-
'xwri' => 'application/x-mswrite',
|
729 |
-
'xwrl' => 'model/vrml',
|
730 |
-
'xwsdl' => 'application/wsdl+xml',
|
731 |
-
|
732 |
-
'xwspolicy' => 'application/wspolicy+xml',
|
733 |
-
'xwtb' => 'application/vnd.webturbo',
|
734 |
-
'xwvx' => 'video/x-ms-wvx',
|
735 |
-
'xx3d' => 'application/vnd.hzn-3d-crossword',
|
736 |
-
'xxar' => 'application/vnd.xara',
|
737 |
-
'xxbd' => 'application/vnd.fujixerox.docuworks.binder',
|
738 |
-
'xxbm' => 'image/x-xbitmap',
|
739 |
-
'xxdm' => 'application/vnd.syncml.dm+xml',
|
740 |
-
'xxdp' => 'application/vnd.adobe.xdp+xml',
|
741 |
-
|
742 |
-
'xxdw' => 'application/vnd.fujixerox.docuworks',
|
743 |
-
'xxenc' => 'application/xenc+xml',
|
744 |
-
'xxfdf' => 'application/vnd.adobe.xfdf',
|
745 |
-
'xxfdl' => 'application/vnd.xfdl',
|
746 |
-
'xxht' => 'application/xhtml+xml',
|
747 |
-
'xxhtml' => 'application/xhtml+xml',
|
748 |
-
'xxhvml' => 'application/xv+xml',
|
749 |
-
'xxif' => 'image/vnd.xiff',
|
750 |
-
'xxla' => 'application/vnd.ms-excel',
|
751 |
-
|
752 |
-
'xxlc' => 'application/vnd.ms-excel',
|
753 |
-
'xxlm' => 'application/vnd.ms-excel',
|
754 |
-
'xxls' => 'application/vnd.ms-excel',
|
755 |
-
'xxlt' => 'application/vnd.ms-excel',
|
756 |
-
'xxlw' => 'application/vnd.ms-excel',
|
757 |
-
'xxml' => 'application/xml',
|
758 |
-
'xxo' => 'application/vnd.olpc-sugar',
|
759 |
-
'xxop' => 'application/xop+xml',
|
760 |
-
'xxpm' => 'image/x-xpixmap',
|
761 |
-
|
762 |
-
'xxpr' => 'application/vnd.is-xpr',
|
763 |
-
'xxps' => 'application/vnd.ms-xpsdocument',
|
764 |
-
'xxsl' => 'application/xml',
|
765 |
-
'xxslt' => 'application/xslt+xml',
|
766 |
-
'xxsm' => 'application/vnd.syncml+xml',
|
767 |
-
'xxspf' => 'application/xspf+xml',
|
768 |
-
'xxul' => 'application/vnd.mozilla.xul+xml',
|
769 |
-
'xxvm' => 'application/xv+xml',
|
770 |
-
'xxvml' => 'application/xv+xml',
|
771 |
-
|
772 |
-
'xxwd' => 'image/x-xwindowdump',
|
773 |
-
'xxyz' => 'chemical/x-xyz',
|
774 |
-
'xzaz' => 'application/vnd.zzazz.deck+xml',
|
775 |
-
'xzip' => 'application/zip',
|
776 |
-
'xzmm' => 'application/vnd.handheld-entertainment+xml',
|
777 |
-
'xodt' => 'application/x-vnd.oasis.opendocument.spreadsheet'
|
778 |
-
);
|
779 |
}
|
33 |
*/
|
34 |
class Mage_Downloadable_Helper_File extends Mage_Core_Helper_Abstract
|
35 |
{
|
36 |
+
/**
|
37 |
+
* @see Mage_Uploader_Helper_File::getMimeTypes
|
38 |
+
* @var array
|
39 |
+
*/
|
40 |
+
protected $_mimeTypes;
|
41 |
+
|
42 |
+
/**
|
43 |
+
* @var Mage_Uploader_Helper_File
|
44 |
+
*/
|
45 |
+
protected $_fileHelper;
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Populate self::_mimeTypes array with values that set in config or pre-defined
|
49 |
+
*/
|
50 |
public function __construct()
|
51 |
{
|
52 |
+
$this->_mimeTypes = $this->_getFileHelper()->getMimeTypes();
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* @return Mage_Uploader_Helper_File
|
57 |
+
*/
|
58 |
+
protected function _getFileHelper()
|
59 |
+
{
|
60 |
+
if (!$this->_fileHelper) {
|
61 |
+
$this->_fileHelper = Mage::helper('uploader/file');
|
62 |
}
|
63 |
+
|
64 |
+
return $this->_fileHelper;
|
65 |
}
|
66 |
|
67 |
/**
|
172 |
return $file;
|
173 |
}
|
174 |
|
175 |
+
/**
|
176 |
+
* Get MIME type for $filePath
|
177 |
+
*
|
178 |
+
* @param $filePath
|
179 |
+
* @return string
|
180 |
+
*/
|
181 |
public function getFileType($filePath)
|
182 |
{
|
183 |
$ext = substr($filePath, strrpos($filePath, '.')+1);
|
184 |
return $this->_getFileTypeByExt($ext);
|
185 |
}
|
186 |
|
187 |
+
/**
|
188 |
+
* Get MIME type by file extension
|
189 |
+
*
|
190 |
+
* @param $ext
|
191 |
+
* @return string
|
192 |
+
* @deprecated
|
193 |
+
*/
|
194 |
protected function _getFileTypeByExt($ext)
|
195 |
{
|
196 |
+
return $this->_getFileHelper()->getMimeTypeByExtension($ext);
|
|
|
|
|
|
|
|
|
197 |
}
|
198 |
|
199 |
+
/**
|
200 |
+
* Get all MIME types
|
201 |
+
*
|
202 |
+
* @return array
|
203 |
+
*/
|
204 |
public function getAllFileTypes()
|
205 |
{
|
206 |
+
return array_values($this->getAllMineTypes());
|
207 |
}
|
208 |
|
209 |
+
/**
|
210 |
+
* Get list of all MIME types
|
211 |
+
*
|
212 |
+
* @return array
|
213 |
+
*/
|
214 |
public function getAllMineTypes()
|
215 |
{
|
216 |
+
return $this->_mimeTypes;
|
217 |
}
|
218 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
219 |
}
|
app/code/core/Mage/Eav/Block/Adminhtml/Attribute/Edit/Options/Abstract.php
CHANGED
@@ -170,12 +170,11 @@ abstract class Mage_Eav_Block_Adminhtml_Attribute_Edit_Options_Abstract extends
|
|
170 |
public function getLabelValues()
|
171 |
{
|
172 |
$values = array();
|
173 |
-
$values[0] = $this->getAttributeObject()->getFrontend()->getLabel();
|
174 |
-
// it can be array and cause bug
|
175 |
$frontendLabel = $this->getAttributeObject()->getFrontend()->getLabel();
|
176 |
if (is_array($frontendLabel)) {
|
177 |
-
|
178 |
}
|
|
|
179 |
$storeLabels = $this->getAttributeObject()->getStoreLabels();
|
180 |
foreach ($this->getStores() as $store) {
|
181 |
if ($store->getId() != 0) {
|
170 |
public function getLabelValues()
|
171 |
{
|
172 |
$values = array();
|
|
|
|
|
173 |
$frontendLabel = $this->getAttributeObject()->getFrontend()->getLabel();
|
174 |
if (is_array($frontendLabel)) {
|
175 |
+
return $frontendLabel;
|
176 |
}
|
177 |
+
$values[0] = $frontendLabel;
|
178 |
$storeLabels = $this->getAttributeObject()->getStoreLabels();
|
179 |
foreach ($this->getStores() as $store) {
|
180 |
if ($store->getId() != 0) {
|
app/code/core/Mage/Eav/Model/Entity/Abstract.php
CHANGED
@@ -808,13 +808,13 @@ abstract class Mage_Eav_Model_Entity_Abstract extends Mage_Core_Model_Resource_A
|
|
808 |
*
|
809 |
* @see Mage_Eav_Model_Entity_Abstract::getAttribute for $attribute format
|
810 |
* @param integer|string|Mage_Eav_Model_Entity_Attribute_Abstract $attribute
|
|
|
811 |
* @return boolean
|
812 |
*/
|
813 |
public function isAttributeStatic($attribute)
|
814 |
{
|
815 |
-
$attrInstance
|
816 |
-
$
|
817 |
-
return $attrInstance && $attrBackendStatic;
|
818 |
}
|
819 |
|
820 |
/**
|
@@ -1309,9 +1309,8 @@ abstract class Mage_Eav_Model_Entity_Abstract extends Mage_Core_Model_Resource_A
|
|
1309 |
$this->_attributeValuesToSave = array();
|
1310 |
$this->_attributeValuesToDelete = array();
|
1311 |
|
1312 |
-
extract($saveData);
|
1313 |
/**
|
1314 |
-
* Import variables
|
1315 |
*
|
1316 |
* @see Mage_Eav_Model_Entity_Attribute_Abstract::_collectSaveData()
|
1317 |
*
|
@@ -1321,6 +1320,12 @@ abstract class Mage_Eav_Model_Entity_Abstract extends Mage_Core_Model_Resource_A
|
|
1321 |
* @var array $update
|
1322 |
* @var array $delete
|
1323 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
1324 |
$adapter = $this->_getWriteAdapter();
|
1325 |
$insertEntity = true;
|
1326 |
$entityTable = $this->getEntityTable();
|
808 |
*
|
809 |
* @see Mage_Eav_Model_Entity_Abstract::getAttribute for $attribute format
|
810 |
* @param integer|string|Mage_Eav_Model_Entity_Attribute_Abstract $attribute
|
811 |
+
*
|
812 |
* @return boolean
|
813 |
*/
|
814 |
public function isAttributeStatic($attribute)
|
815 |
{
|
816 |
+
$attrInstance = $this->getAttribute($attribute);
|
817 |
+
return $attrInstance && $attrInstance->getBackend()->isStatic();
|
|
|
818 |
}
|
819 |
|
820 |
/**
|
1309 |
$this->_attributeValuesToSave = array();
|
1310 |
$this->_attributeValuesToDelete = array();
|
1311 |
|
|
|
1312 |
/**
|
1313 |
+
* Import variables from save data array
|
1314 |
*
|
1315 |
* @see Mage_Eav_Model_Entity_Attribute_Abstract::_collectSaveData()
|
1316 |
*
|
1320 |
* @var array $update
|
1321 |
* @var array $delete
|
1322 |
*/
|
1323 |
+
$newObject = $saveData['newObject'];
|
1324 |
+
$entityRow = $saveData['entityRow'];
|
1325 |
+
$insert = $saveData['insert'];
|
1326 |
+
$update = $saveData['update'];
|
1327 |
+
$delete = $saveData['delete'];
|
1328 |
+
|
1329 |
$adapter = $this->_getWriteAdapter();
|
1330 |
$insertEntity = true;
|
1331 |
$entityTable = $this->getEntityTable();
|
app/code/core/Mage/Eav/Model/Entity/Attribute.php
CHANGED
@@ -225,12 +225,12 @@ class Mage_Eav_Model_Entity_Attribute extends Mage_Eav_Model_Entity_Attribute_Ab
|
|
225 |
case 'text':
|
226 |
case 'gallery':
|
227 |
case 'media_image':
|
228 |
-
case 'multiselect':
|
229 |
$field = 'varchar';
|
230 |
break;
|
231 |
|
232 |
case 'image':
|
233 |
case 'textarea':
|
|
|
234 |
$field = 'text';
|
235 |
break;
|
236 |
|
@@ -272,6 +272,7 @@ class Mage_Eav_Model_Entity_Attribute extends Mage_Eav_Model_Entity_Attribute_Ab
|
|
272 |
case 'text':
|
273 |
case 'price':
|
274 |
case 'image':
|
|
|
275 |
$field = 'default_value_text';
|
276 |
break;
|
277 |
|
225 |
case 'text':
|
226 |
case 'gallery':
|
227 |
case 'media_image':
|
|
|
228 |
$field = 'varchar';
|
229 |
break;
|
230 |
|
231 |
case 'image':
|
232 |
case 'textarea':
|
233 |
+
case 'multiselect':
|
234 |
$field = 'text';
|
235 |
break;
|
236 |
|
272 |
case 'text':
|
273 |
case 'price':
|
274 |
case 'image':
|
275 |
+
case 'weight':
|
276 |
$field = 'default_value_text';
|
277 |
break;
|
278 |
|
app/code/core/Mage/Eav/Model/Entity/Attribute/Abstract.php
CHANGED
@@ -383,7 +383,10 @@ abstract class Mage_Eav_Model_Entity_Attribute_Abstract extends Mage_Core_Model_
|
|
383 |
$source = Mage::getModel($this->getSourceModel());
|
384 |
if (!$source) {
|
385 |
throw Mage::exception('Mage_Eav',
|
386 |
-
Mage::helper('eav')->__('Source model "%s" not found for attribute "%s"'
|
|
|
|
|
|
|
387 |
);
|
388 |
}
|
389 |
$this->_source = $source->setAttribute($this);
|
@@ -628,8 +631,14 @@ abstract class Mage_Eav_Model_Entity_Attribute_Abstract extends Mage_Core_Model_
|
|
628 |
break;
|
629 |
}
|
630 |
$prop = $describe[$this->getAttributeCode()];
|
|
|
|
|
|
|
|
|
|
|
|
|
631 |
$columns[$this->getAttributeCode()] = array(
|
632 |
-
'type' => $
|
633 |
'unsigned' => $prop['UNSIGNED'] ? true: false,
|
634 |
'is_null' => $prop['NULLABLE'],
|
635 |
'default' => $prop['DEFAULT'],
|
383 |
$source = Mage::getModel($this->getSourceModel());
|
384 |
if (!$source) {
|
385 |
throw Mage::exception('Mage_Eav',
|
386 |
+
Mage::helper('eav')->__('Source model "%s" not found for attribute "%s"',
|
387 |
+
$this->getSourceModel(),
|
388 |
+
$this->getAttributeCode()
|
389 |
+
)
|
390 |
);
|
391 |
}
|
392 |
$this->_source = $source->setAttribute($this);
|
631 |
break;
|
632 |
}
|
633 |
$prop = $describe[$this->getAttributeCode()];
|
634 |
+
$type = $prop['DATA_TYPE'];
|
635 |
+
if (isset($prop['PRECISION']) && isset($prop['SCALE'])) {
|
636 |
+
$type .= "({$prop['PRECISION']},{$prop['SCALE']})";
|
637 |
+
} else {
|
638 |
+
$type .= (isset($prop['LENGTH']) && $prop['LENGTH']) ? "({$prop['LENGTH']})" : "";
|
639 |
+
}
|
640 |
$columns[$this->getAttributeCode()] = array(
|
641 |
+
'type' => $type,
|
642 |
'unsigned' => $prop['UNSIGNED'] ? true: false,
|
643 |
'is_null' => $prop['NULLABLE'],
|
644 |
'default' => $prop['DEFAULT'],
|
app/code/core/Mage/Eav/Model/Entity/Attribute/Source/Table.php
CHANGED
@@ -152,7 +152,7 @@ class Mage_Eav_Model_Entity_Attribute_Source_Table extends Mage_Eav_Model_Entity
|
|
152 |
|
153 |
if (Mage::helper('core')->useDbCompatibleMode()) {
|
154 |
$columns[$attributeCode] = array(
|
155 |
-
'type' => $isMulti ? '
|
156 |
'unsigned' => false,
|
157 |
'is_null' => true,
|
158 |
'default' => null,
|
@@ -171,7 +171,7 @@ class Mage_Eav_Model_Entity_Attribute_Source_Table extends Mage_Eav_Model_Entity
|
|
171 |
$type = ($isMulti) ? Varien_Db_Ddl_Table::TYPE_TEXT : Varien_Db_Ddl_Table::TYPE_INTEGER;
|
172 |
$columns[$attributeCode] = array(
|
173 |
'type' => $type,
|
174 |
-
'length' => $isMulti ? '
|
175 |
'unsigned' => false,
|
176 |
'nullable' => true,
|
177 |
'default' => null,
|
152 |
|
153 |
if (Mage::helper('core')->useDbCompatibleMode()) {
|
154 |
$columns[$attributeCode] = array(
|
155 |
+
'type' => $isMulti ? 'text' : 'int',
|
156 |
'unsigned' => false,
|
157 |
'is_null' => true,
|
158 |
'default' => null,
|
171 |
$type = ($isMulti) ? Varien_Db_Ddl_Table::TYPE_TEXT : Varien_Db_Ddl_Table::TYPE_INTEGER;
|
172 |
$columns[$attributeCode] = array(
|
173 |
'type' => $type,
|
174 |
+
'length' => $isMulti ? '65535' : null,
|
175 |
'unsigned' => false,
|
176 |
'nullable' => true,
|
177 |
'default' => null,
|
app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php
CHANGED
@@ -918,6 +918,7 @@ abstract class Mage_Eav_Model_Entity_Collection_Abstract extends Varien_Data_Col
|
|
918 |
/**
|
919 |
* Retrive all ids sql
|
920 |
*
|
|
|
921 |
* @return array
|
922 |
*/
|
923 |
public function getAllIdsSql()
|
@@ -1409,6 +1410,7 @@ abstract class Mage_Eav_Model_Entity_Collection_Abstract extends Varien_Data_Col
|
|
1409 |
foreach ($attribute as $attr) {
|
1410 |
parent::setOrder($attr, $dir);
|
1411 |
}
|
|
|
1412 |
}
|
1413 |
return parent::setOrder($attribute, $dir);
|
1414 |
}
|
918 |
/**
|
919 |
* Retrive all ids sql
|
920 |
*
|
921 |
+
* @deprecated
|
922 |
* @return array
|
923 |
*/
|
924 |
public function getAllIdsSql()
|
1410 |
foreach ($attribute as $attr) {
|
1411 |
parent::setOrder($attr, $dir);
|
1412 |
}
|
1413 |
+
return $this;
|
1414 |
}
|
1415 |
return parent::setOrder($attribute, $dir);
|
1416 |
}
|
app/code/core/Mage/ImportExport/Helper/Data.php
CHANGED
@@ -36,8 +36,9 @@ class Mage_ImportExport_Helper_Data extends Mage_Core_Helper_Data
|
|
36 |
/**
|
37 |
* XML path for config data
|
38 |
*/
|
39 |
-
const XML_PATH_EXPORT_LOCAL_VALID_PATH
|
40 |
-
const XML_PATH_BUNCH_SIZE
|
|
|
41 |
|
42 |
/**
|
43 |
* Maximum size of uploaded files.
|
@@ -69,4 +70,14 @@ class Mage_ImportExport_Helper_Data extends Mage_Core_Helper_Data
|
|
69 |
{
|
70 |
return (int)Mage::getStoreConfig(self::XML_PATH_BUNCH_SIZE);
|
71 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
}
|
36 |
/**
|
37 |
* XML path for config data
|
38 |
*/
|
39 |
+
const XML_PATH_EXPORT_LOCAL_VALID_PATH = 'general/file/importexport_local_valid_paths';
|
40 |
+
const XML_PATH_BUNCH_SIZE = 'general/file/bunch_size';
|
41 |
+
const XML_PATH_IMPORT_CONFIGURABLE_PAGE_SIZE = 'system/import_csv/configurable_page_size';
|
42 |
|
43 |
/**
|
44 |
* Maximum size of uploaded files.
|
70 |
{
|
71 |
return (int)Mage::getStoreConfig(self::XML_PATH_BUNCH_SIZE);
|
72 |
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Get page size for import configurable products
|
76 |
+
*
|
77 |
+
* @return int
|
78 |
+
*/
|
79 |
+
public function getImportConfigurablePageSize()
|
80 |
+
{
|
81 |
+
return (int)Mage::getStoreConfig(self::XML_PATH_IMPORT_CONFIGURABLE_PAGE_SIZE);
|
82 |
+
}
|
83 |
}
|
app/code/core/Mage/ImportExport/Model/Export.php
CHANGED
@@ -136,7 +136,9 @@ class Mage_ImportExport_Model_Export extends Mage_ImportExport_Model_Abstract
|
|
136 |
}
|
137 |
|
138 |
/**
|
139 |
-
* Export data.
|
|
|
|
|
140 |
*
|
141 |
* @throws Mage_Core_Exception
|
142 |
* @return string
|
@@ -168,6 +170,50 @@ class Mage_ImportExport_Model_Export extends Mage_ImportExport_Model_Abstract
|
|
168 |
}
|
169 |
}
|
170 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
/**
|
172 |
* Clean up already loaded attribute collection.
|
173 |
*
|
136 |
}
|
137 |
|
138 |
/**
|
139 |
+
* Export data and return contents of temporary file.
|
140 |
+
*
|
141 |
+
* @deprecated after ver 1.9.2.4 use $this->exportFile() instead
|
142 |
*
|
143 |
* @throws Mage_Core_Exception
|
144 |
* @return string
|
170 |
}
|
171 |
}
|
172 |
|
173 |
+
/**
|
174 |
+
* Export data and return temporary file through array.
|
175 |
+
*
|
176 |
+
* This method will return following array:
|
177 |
+
*
|
178 |
+
* array(
|
179 |
+
* 'rows' => count of written rows,
|
180 |
+
* 'value' => path to created file,
|
181 |
+
* 'type' => 'file'
|
182 |
+
* )
|
183 |
+
*
|
184 |
+
* @throws Mage_Core_Exception
|
185 |
+
* @return array
|
186 |
+
*/
|
187 |
+
public function exportFile()
|
188 |
+
{
|
189 |
+
if (isset($this->_data[self::FILTER_ELEMENT_GROUP])) {
|
190 |
+
$this->addLogComment(Mage::helper('importexport')->__('Begin export of %s', $this->getEntity()));
|
191 |
+
$result = $this->_getEntityAdapter()
|
192 |
+
->setWriter($this->_getWriter())
|
193 |
+
->exportFile();
|
194 |
+
|
195 |
+
if (isset($result['rows'])) {
|
196 |
+
if (!$result['rows']) {
|
197 |
+
Mage::throwException(
|
198 |
+
Mage::helper('importexport')->__('There is no data for export')
|
199 |
+
);
|
200 |
+
}
|
201 |
+
if ($result['rows']) {
|
202 |
+
$this->addLogComment(array(
|
203 |
+
Mage::helper('importexport')->__('Exported %s rows.', $result['rows']),
|
204 |
+
Mage::helper('importexport')->__('Export has been done.')
|
205 |
+
));
|
206 |
+
}
|
207 |
+
}
|
208 |
+
|
209 |
+
return $result;
|
210 |
+
} else {
|
211 |
+
Mage::throwException(
|
212 |
+
Mage::helper('importexport')->__('No filter data provided')
|
213 |
+
);
|
214 |
+
}
|
215 |
+
}
|
216 |
+
|
217 |
/**
|
218 |
* Clean up already loaded attribute collection.
|
219 |
*
|
app/code/core/Mage/ImportExport/Model/Export/Adapter/Abstract.php
CHANGED
@@ -47,6 +47,13 @@ abstract class Mage_ImportExport_Model_Export_Adapter_Abstract
|
|
47 |
*/
|
48 |
protected $_headerCols = null;
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
/**
|
51 |
* Adapter object constructor.
|
52 |
*
|
@@ -124,6 +131,16 @@ abstract class Mage_ImportExport_Model_Export_Adapter_Abstract
|
|
124 |
return '';
|
125 |
}
|
126 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
/**
|
128 |
* Set column names.
|
129 |
*
|
47 |
*/
|
48 |
protected $_headerCols = null;
|
49 |
|
50 |
+
/**
|
51 |
+
* Count of rows
|
52 |
+
*
|
53 |
+
* @var int
|
54 |
+
*/
|
55 |
+
protected $_rowsCount = 0;
|
56 |
+
|
57 |
/**
|
58 |
* Adapter object constructor.
|
59 |
*
|
131 |
return '';
|
132 |
}
|
133 |
|
134 |
+
/**
|
135 |
+
* Get count of wrote lines
|
136 |
+
*
|
137 |
+
* @return int
|
138 |
+
*/
|
139 |
+
public function getRowsCount()
|
140 |
+
{
|
141 |
+
return $this->_rowsCount;
|
142 |
+
}
|
143 |
+
|
144 |
/**
|
145 |
* Set column names.
|
146 |
*
|
app/code/core/Mage/ImportExport/Model/Export/Adapter/Csv.php
CHANGED
@@ -125,6 +125,8 @@ class Mage_ImportExport_Model_Export_Adapter_Csv extends Mage_ImportExport_Model
|
|
125 |
$this->_enclosure
|
126 |
);
|
127 |
|
|
|
|
|
128 |
return $this;
|
129 |
}
|
130 |
|
125 |
$this->_enclosure
|
126 |
);
|
127 |
|
128 |
+
$this->_rowsCount++;
|
129 |
+
|
130 |
return $this;
|
131 |
}
|
132 |
|
app/code/core/Mage/ImportExport/Model/Export/Entity/Abstract.php
CHANGED
@@ -153,6 +153,27 @@ abstract class Mage_ImportExport_Model_Export_Entity_Abstract
|
|
153 |
*/
|
154 |
protected $_writer;
|
155 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
/**
|
157 |
* Constructor.
|
158 |
*
|
@@ -165,6 +186,20 @@ abstract class Mage_ImportExport_Model_Export_Entity_Abstract
|
|
165 |
$this->_connection = Mage::getSingleton('core/resource')->getConnection('write');
|
166 |
}
|
167 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
/**
|
169 |
* Initialize stores hash.
|
170 |
*
|
@@ -173,9 +208,11 @@ abstract class Mage_ImportExport_Model_Export_Entity_Abstract
|
|
173 |
protected function _initStores()
|
174 |
{
|
175 |
foreach (Mage::app()->getStores(true) as $store) {
|
176 |
-
$this->_storeIdToCode[$store->getId()]
|
|
|
177 |
}
|
178 |
ksort($this->_storeIdToCode); // to ensure that 'admin' store (ID is zero) goes first
|
|
|
179 |
|
180 |
return $this;
|
181 |
}
|
@@ -319,10 +356,28 @@ abstract class Mage_ImportExport_Model_Export_Entity_Abstract
|
|
319 |
/**
|
320 |
* Export process.
|
321 |
*
|
|
|
|
|
322 |
* @return string
|
323 |
*/
|
324 |
abstract public function export();
|
325 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
326 |
/**
|
327 |
* Clean up attribute collection.
|
328 |
*
|
@@ -367,7 +422,8 @@ abstract class Mage_ImportExport_Model_Export_Entity_Abstract
|
|
367 |
|
368 |
try {
|
369 |
foreach ($attribute->getSource()->getAllOptions(false) as $option) {
|
370 |
-
|
|
|
371 |
if (strlen($innerOption['value'])) { // skip ' -- Please Select -- ' option
|
372 |
$options[$innerOption['value']] = $innerOption[$index];
|
373 |
}
|
153 |
*/
|
154 |
protected $_writer;
|
155 |
|
156 |
+
/**
|
157 |
+
* Array of pairs store ID to its code.
|
158 |
+
*
|
159 |
+
* @var array
|
160 |
+
*/
|
161 |
+
protected $_storeIdToCode = array();
|
162 |
+
|
163 |
+
/**
|
164 |
+
* Store Id-to-website
|
165 |
+
*
|
166 |
+
* @var array
|
167 |
+
*/
|
168 |
+
protected $_storeIdToWebsiteId = array();
|
169 |
+
|
170 |
+
/**
|
171 |
+
* Website ID-to-code.
|
172 |
+
*
|
173 |
+
* @var array
|
174 |
+
*/
|
175 |
+
protected $_websiteIdToCode = array();
|
176 |
+
|
177 |
/**
|
178 |
* Constructor.
|
179 |
*
|
186 |
$this->_connection = Mage::getSingleton('core/resource')->getConnection('write');
|
187 |
}
|
188 |
|
189 |
+
/**
|
190 |
+
* Initialize website values.
|
191 |
+
*
|
192 |
+
* @return Mage_ImportExport_Model_Export_Entity_Customer
|
193 |
+
*/
|
194 |
+
protected function _initWebsites()
|
195 |
+
{
|
196 |
+
/** @var $website Mage_Core_Model_Website */
|
197 |
+
foreach (Mage::app()->getWebsites(true) as $website) {
|
198 |
+
$this->_websiteIdToCode[$website->getId()] = $website->getCode();
|
199 |
+
}
|
200 |
+
return $this;
|
201 |
+
}
|
202 |
+
|
203 |
/**
|
204 |
* Initialize stores hash.
|
205 |
*
|
208 |
protected function _initStores()
|
209 |
{
|
210 |
foreach (Mage::app()->getStores(true) as $store) {
|
211 |
+
$this->_storeIdToCode[$store->getId()] = $store->getCode();
|
212 |
+
$this->_storeIdToWebsiteId[$store->getId()] = $store->getWebsiteId();
|
213 |
}
|
214 |
ksort($this->_storeIdToCode); // to ensure that 'admin' store (ID is zero) goes first
|
215 |
+
sort($this->_storeIdToWebsiteId);
|
216 |
|
217 |
return $this;
|
218 |
}
|
356 |
/**
|
357 |
* Export process.
|
358 |
*
|
359 |
+
* @deprecated after ver 1.9.2.4 use $this->exportFile() instead
|
360 |
+
*
|
361 |
* @return string
|
362 |
*/
|
363 |
abstract public function export();
|
364 |
|
365 |
+
/**
|
366 |
+
* Export data and return temporary file through array.
|
367 |
+
*
|
368 |
+
* This method will return following array:
|
369 |
+
*
|
370 |
+
* array(
|
371 |
+
* 'rows' => count of written rows,
|
372 |
+
* 'value' => path to created file,
|
373 |
+
* 'type' => 'file'
|
374 |
+
* )
|
375 |
+
*
|
376 |
+
* @throws Mage_Core_Exception
|
377 |
+
* @return array
|
378 |
+
*/
|
379 |
+
abstract function exportFile();
|
380 |
+
|
381 |
/**
|
382 |
* Clean up attribute collection.
|
383 |
*
|
422 |
|
423 |
try {
|
424 |
foreach ($attribute->getSource()->getAllOptions(false) as $option) {
|
425 |
+
$innerOptions = is_array($option['value']) ? $option['value'] : array($option);
|
426 |
+
foreach ($innerOptions as $innerOption) {
|
427 |
if (strlen($innerOption['value'])) { // skip ' -- Please Select -- ' option
|
428 |
$options[$innerOption['value']] = $innerOption[$index];
|
429 |
}
|
app/code/core/Mage/ImportExport/Model/Export/Entity/Customer.php
CHANGED
@@ -75,20 +75,6 @@ class Mage_ImportExport_Model_Export_Entity_Customer extends Mage_ImportExport_M
|
|
75 |
*/
|
76 |
protected $_permanentAttributes = array(self::COL_EMAIL, self::COL_WEBSITE, self::COL_STORE);
|
77 |
|
78 |
-
/**
|
79 |
-
* Array of pairs store ID to its code.
|
80 |
-
*
|
81 |
-
* @var array
|
82 |
-
*/
|
83 |
-
protected $_storeIdToCode = array();
|
84 |
-
|
85 |
-
/**
|
86 |
-
* Website ID-to-code.
|
87 |
-
*
|
88 |
-
* @var array
|
89 |
-
*/
|
90 |
-
protected $_websiteIdToCode = array();
|
91 |
-
|
92 |
/**
|
93 |
* Constructor.
|
94 |
*
|
@@ -132,51 +118,97 @@ class Mage_ImportExport_Model_Export_Entity_Customer extends Mage_ImportExport_M
|
|
132 |
}
|
133 |
|
134 |
/**
|
135 |
-
* Export process
|
|
|
|
|
136 |
*
|
137 |
* @return string
|
138 |
*/
|
139 |
public function export()
|
140 |
{
|
141 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
$validAttrCodes = $this->_getExportAttrCodes();
|
143 |
$writer = $this->getWriter();
|
144 |
$defaultAddrMap = Mage_ImportExport_Model_Import_Entity_Customer_Address::getDefaultAddressAttrMapping();
|
145 |
|
146 |
// prepare address data
|
147 |
-
$
|
148 |
-
$addrColNames
|
149 |
-
$customerAddrs
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
if (strlen($innerOption['value'])) { // skip ' -- Please Select -- ' option
|
161 |
-
$options[$innerOption['value']] = $innerOption['label'];
|
162 |
-
}
|
163 |
-
}
|
164 |
-
}
|
165 |
-
}
|
166 |
-
$addrAttributes[$attrCode] = $options;
|
167 |
$addrColNames[] = Mage_ImportExport_Model_Import_Entity_Customer_Address::getColNameForAttrCode($attrCode);
|
168 |
}
|
169 |
foreach (Mage::getResourceModel('customer/address_collection')->addAttributeToSelect('*') as $address) {
|
170 |
$addrRow = array();
|
171 |
|
172 |
-
|
|
|
|
|
|
|
|
|
173 |
if (null !== $address->getData($attrCode)) {
|
174 |
-
|
|
|
|
|
|
|
|
|
175 |
|
176 |
-
if ($
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
$value = $attrValues[$value];
|
178 |
}
|
179 |
-
$column = Mage_ImportExport_Model_Import_Entity_Customer_Address::getColNameForAttrCode($attrCode);
|
180 |
$addrRow[$column] = $value;
|
181 |
}
|
182 |
}
|
@@ -189,49 +221,108 @@ class Mage_ImportExport_Model_Export_Entity_Customer extends Mage_ImportExport_M
|
|
189 |
array('password'), $addrColNames,
|
190 |
array_keys($defaultAddrMap)
|
191 |
));
|
192 |
-
foreach ($collection as $
|
193 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
|
195 |
-
|
196 |
-
|
197 |
-
$attrValue = $item->getData($attrCode);
|
198 |
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
|
|
|
|
207 |
}
|
208 |
-
$
|
209 |
-
$
|
210 |
|
211 |
-
|
212 |
-
|
|
|
|
|
|
|
213 |
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
}
|
225 |
}
|
226 |
-
$writer->writeRow(array_merge($row, $addrRow['value']));
|
227 |
|
228 |
-
|
|
|
|
|
|
|
229 |
}
|
230 |
-
} else {
|
231 |
-
$writer->writeRow($row);
|
232 |
}
|
233 |
}
|
234 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
235 |
}
|
236 |
|
237 |
/**
|
@@ -247,7 +338,7 @@ class Mage_ImportExport_Model_Export_Entity_Customer extends Mage_ImportExport_M
|
|
247 |
$data = $this->_attributeOverrides[$attribute->getAttributeCode()];
|
248 |
|
249 |
if (isset($data['options_method']) && method_exists($this, $data['options_method'])) {
|
250 |
-
$data['filter_options'] = $this
|
251 |
}
|
252 |
$attribute->addData($data);
|
253 |
}
|
@@ -274,4 +365,152 @@ class Mage_ImportExport_Model_Export_Entity_Customer extends Mage_ImportExport_M
|
|
274 |
{
|
275 |
return 'customer';
|
276 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
277 |
}
|
75 |
*/
|
76 |
protected $_permanentAttributes = array(self::COL_EMAIL, self::COL_WEBSITE, self::COL_STORE);
|
77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
/**
|
79 |
* Constructor.
|
80 |
*
|
118 |
}
|
119 |
|
120 |
/**
|
121 |
+
* Export process and return contents of temporary file
|
122 |
+
*
|
123 |
+
* @deprecated after ver 1.9.2.4 use $this->exportFile() instead
|
124 |
*
|
125 |
* @return string
|
126 |
*/
|
127 |
public function export()
|
128 |
{
|
129 |
+
$this->_prepareExport();
|
130 |
+
|
131 |
+
return $this->getWriter()->getContents();
|
132 |
+
}
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Export process and return temporary file through array
|
136 |
+
*
|
137 |
+
* This method will return following array:
|
138 |
+
*
|
139 |
+
* array(
|
140 |
+
* 'rows' => count of written rows,
|
141 |
+
* 'value' => path to created file
|
142 |
+
* )
|
143 |
+
*
|
144 |
+
* @return array
|
145 |
+
*/
|
146 |
+
public function exportFile()
|
147 |
+
{
|
148 |
+
$this->_prepareExport();
|
149 |
+
|
150 |
+
$writer = $this->getWriter();
|
151 |
+
|
152 |
+
return array(
|
153 |
+
'rows' => $writer->getRowsCount(),
|
154 |
+
'value' => $writer->getDestination()
|
155 |
+
);
|
156 |
+
}
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Prepare data for export and write its to temporary file through writer.
|
160 |
+
*
|
161 |
+
* @return void
|
162 |
+
*/
|
163 |
+
protected function _prepareExport()
|
164 |
+
{
|
165 |
+
$collection = $this->_prepareEntityCollection(Mage::getResourceModel('customer/customer_collection'));
|
166 |
$validAttrCodes = $this->_getExportAttrCodes();
|
167 |
$writer = $this->getWriter();
|
168 |
$defaultAddrMap = Mage_ImportExport_Model_Import_Entity_Customer_Address::getDefaultAddressAttrMapping();
|
169 |
|
170 |
// prepare address data
|
171 |
+
$allAddressAttributeOptions = array();
|
172 |
+
$addrColNames = array();
|
173 |
+
$customerAddrs = array();
|
174 |
+
$addressAttributeCollection = Mage::getResourceModel('customer/address_attribute_collection')
|
175 |
+
->addSystemHiddenFilter()
|
176 |
+
->addExcludeHiddenFrontendFilter();
|
177 |
+
$addressAttributes = array();
|
178 |
+
$addrAttributeMultiSelect = array();
|
179 |
+
$customerAttributeMultiSelect = array();
|
180 |
|
181 |
+
foreach ($addressAttributeCollection as $attribute) {
|
182 |
+
$attrCode = $attribute->getAttributeCode();
|
183 |
+
$allAddressAttributeOptions[$attrCode] = $this->_getAddressAttributeOptions($attribute);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
$addrColNames[] = Mage_ImportExport_Model_Import_Entity_Customer_Address::getColNameForAttrCode($attrCode);
|
185 |
}
|
186 |
foreach (Mage::getResourceModel('customer/address_collection')->addAttributeToSelect('*') as $address) {
|
187 |
$addrRow = array();
|
188 |
|
189 |
+
if (empty($addressAttributes)) {
|
190 |
+
$addressAttributes = $address->getAttributes();
|
191 |
+
}
|
192 |
+
foreach ($allAddressAttributeOptions as $attrCode => $attrValues) {
|
193 |
+
$column = Mage_ImportExport_Model_Import_Entity_Customer_Address::getColNameForAttrCode($attrCode);
|
194 |
if (null !== $address->getData($attrCode)) {
|
195 |
+
if (!isset($addressAttributes[$attrCode])) {
|
196 |
+
$addressAttributes = array_merge($addressAttributes, $address->getAttributes());
|
197 |
+
}
|
198 |
+
$addressAttribute = $addressAttributes[$attrCode];
|
199 |
+
$value = $address->getData($attrCode);
|
200 |
|
201 |
+
if ($addressAttribute->getFrontendInput() == 'multiselect') {
|
202 |
+
$optionIds = explode(',', $value);
|
203 |
+
$optionTexts = array();
|
204 |
+
foreach ($optionIds as $optionId) {
|
205 |
+
$optionText = $addressAttribute->getSource()->getOptionText($optionId);
|
206 |
+
$optionTexts[$optionId] = $optionText;
|
207 |
+
}
|
208 |
+
$addrAttributeMultiSelect[$address['parent_id']][$address->getId()][$column] = $optionTexts;
|
209 |
+
} elseif ($attrValues) {
|
210 |
$value = $attrValues[$value];
|
211 |
}
|
|
|
212 |
$addrRow[$column] = $value;
|
213 |
}
|
214 |
}
|
221 |
array('password'), $addrColNames,
|
222 |
array_keys($defaultAddrMap)
|
223 |
));
|
224 |
+
foreach ($collection as $customerId => $customer) {
|
225 |
+
$customerAddress = array();
|
226 |
+
if (isset($customerAddrs[$customerId])) {
|
227 |
+
$customerAddress = $customerAddrs[$customerId];
|
228 |
+
}
|
229 |
+
$addressMultiselect= array();
|
230 |
+
if (isset($addrAttributeMultiSelect[$customerId])) {
|
231 |
+
$addressMultiselect = $addrAttributeMultiSelect[$customerId];
|
232 |
+
}
|
233 |
|
234 |
+
$row = $this->_prepareExportRow($customer, $customerAttributeMultiSelect);
|
235 |
+
$defaultAddrs = $this->_prepareDefaultAddress($customer);
|
|
|
236 |
|
237 |
+
$addrRow = array();
|
238 |
+
$currentAddressId = 0;
|
239 |
+
if (isset($customerAddrs[$customerId])) {
|
240 |
+
list($addressId, $addrRow) = $this->_getNextAddressRow($customerAddress);
|
241 |
+
$row = $this->_addDefaultAddressFields($defaultAddrs, $addressId, $row);
|
242 |
+
$addrRow = $this->_addNextAddressOptions($addressMultiselect, $addressId, $addrRow);
|
243 |
+
$currentAddressId = $addressId;
|
244 |
+
}
|
245 |
+
foreach ($customerAttributeMultiSelect as $column => &$multiSelectOptions) {
|
246 |
+
$row[$column] = array_shift($multiSelectOptions);
|
247 |
}
|
248 |
+
$writeRow = array_merge($row, $addrRow);
|
249 |
+
$writer->writeRow($writeRow);
|
250 |
|
251 |
+
$additionalRowsCount = $this->_getAdditionalRowsCount($customerAddress,
|
252 |
+
$addressMultiselect, $customerAttributeMultiSelect);
|
253 |
+
if ($additionalRowsCount) {
|
254 |
+
for ($i = 0; $i < $additionalRowsCount; $i++) {
|
255 |
+
$writeRow = array();
|
256 |
|
257 |
+
foreach ($customerAttributeMultiSelect as $column => &$multiSelectOptions) {
|
258 |
+
$writeRow[$column] = array_shift($multiSelectOptions);
|
259 |
+
}
|
260 |
+
if (!$this->_isExistMultiSelectOptions($addressMultiselect, $currentAddressId)) {
|
261 |
+
list($addressId, $addrRow) = $this->_getNextAddressRow($customerAddress);
|
262 |
+
$currentAddressId = $addressId;
|
263 |
+
$addrRow = $this->_addNextAddressOptions($addressMultiselect, $currentAddressId, $addrRow);
|
264 |
+
} else {
|
265 |
+
$addrRow = array();
|
266 |
+
$addrRow = $this->_addNextAddressOptions($addressMultiselect, $currentAddressId, $addrRow);
|
|
|
267 |
}
|
|
|
268 |
|
269 |
+
if ($addrRow) {
|
270 |
+
$writeRow = array_merge($writeRow, $addrRow);
|
271 |
+
}
|
272 |
+
$writer->writeRow($writeRow);
|
273 |
}
|
|
|
|
|
274 |
}
|
275 |
}
|
276 |
+
}
|
277 |
+
|
278 |
+
/**
|
279 |
+
* Get Additional Rows Count
|
280 |
+
*
|
281 |
+
* @param array $customerAddress
|
282 |
+
* @param array $addrMultiSelect
|
283 |
+
* @param array $customerMultiSelect
|
284 |
+
* @return int
|
285 |
+
*/
|
286 |
+
protected function _getAdditionalRowsCount($customerAddress, $addrMultiSelect, $customerMultiSelect)
|
287 |
+
{
|
288 |
+
$additionalRowsCount = count($customerAddress);
|
289 |
+
$addressRowCount = 0;
|
290 |
+
$allAddressRowCount = array();
|
291 |
+
|
292 |
+
foreach ($addrMultiSelect as $addressId => $addressAttributeOptions) {
|
293 |
+
foreach ($addressAttributeOptions as $options) {
|
294 |
+
$addressRowCount = max(count($options), $addressRowCount);
|
295 |
+
$allAddressRowCount[$addressId] = $addressRowCount;
|
296 |
+
}
|
297 |
+
$addressRowCount = 0;
|
298 |
+
}
|
299 |
+
|
300 |
+
$additionalRowsCount = max(array_sum($allAddressRowCount), $additionalRowsCount);
|
301 |
+
|
302 |
+
foreach ($customerMultiSelect as $options) {
|
303 |
+
$additionalRowsCount = max(count($options), $additionalRowsCount);
|
304 |
+
}
|
305 |
+
|
306 |
+
return $additionalRowsCount;
|
307 |
+
}
|
308 |
+
|
309 |
+
/**
|
310 |
+
* Get Next Address Row
|
311 |
+
*
|
312 |
+
* @param array $customerAddress
|
313 |
+
* @return array
|
314 |
+
*/
|
315 |
+
protected function _getNextAddressRow(&$customerAddress)
|
316 |
+
{
|
317 |
+
if (!empty($customerAddress)) {
|
318 |
+
reset($customerAddress);
|
319 |
+
$addressId = key($customerAddress);
|
320 |
+
$addressRow = current($customerAddress);
|
321 |
+
unset($customerAddress[$addressId]);
|
322 |
+
|
323 |
+
return array($addressId, $addressRow);
|
324 |
+
}
|
325 |
+
return array(null, null);
|
326 |
}
|
327 |
|
328 |
/**
|
338 |
$data = $this->_attributeOverrides[$attribute->getAttributeCode()];
|
339 |
|
340 |
if (isset($data['options_method']) && method_exists($this, $data['options_method'])) {
|
341 |
+
$data['filter_options'] = $this->{$data['options_method']}();
|
342 |
}
|
343 |
$attribute->addData($data);
|
344 |
}
|
365 |
{
|
366 |
return 'customer';
|
367 |
}
|
368 |
+
|
369 |
+
/**
|
370 |
+
* Get Address Attributes
|
371 |
+
*
|
372 |
+
* @param $attribute
|
373 |
+
* @return array
|
374 |
+
*/
|
375 |
+
protected function _getAddressAttributeOptions($attribute)
|
376 |
+
{
|
377 |
+
$options = array();
|
378 |
+
$attrCode = $attribute->getAttributeCode();
|
379 |
+
|
380 |
+
if ($attribute->usesSource() && 'country_id' != $attrCode) {
|
381 |
+
foreach ($attribute->getSource()->getAllOptions(false) as $option) {
|
382 |
+
$innerOptions = is_array($option['value']) ? $option['value'] : array($option);
|
383 |
+
foreach ($innerOptions as $innerOption) {
|
384 |
+
// skip ' -- Please Select -- ' option
|
385 |
+
if (strlen($innerOption['value'])) {
|
386 |
+
$options[$innerOption['value']] = $innerOption['label'];
|
387 |
+
}
|
388 |
+
}
|
389 |
+
}
|
390 |
+
}
|
391 |
+
return $options;
|
392 |
+
}
|
393 |
+
|
394 |
+
/**
|
395 |
+
* Prepare Export Row
|
396 |
+
*
|
397 |
+
* @param Mage_Customer_Model_Customer $customer
|
398 |
+
* @param array $attributeMultiSelect
|
399 |
+
* @return array
|
400 |
+
*/
|
401 |
+
protected function _prepareExportRow($customer, &$attributeMultiSelect)
|
402 |
+
{
|
403 |
+
$row = array();
|
404 |
+
$validAttrCodes = $this->_getExportAttrCodes();
|
405 |
+
|
406 |
+
// go through all valid attribute codes
|
407 |
+
foreach ($validAttrCodes as $attrCode) {
|
408 |
+
$attribute = $customer->getAttribute($attrCode);
|
409 |
+
$attrValue = $customer->getData($attrCode);
|
410 |
+
|
411 |
+
if ($attribute && $attribute->getFrontendInput() == 'multiselect') {
|
412 |
+
$optionText = (array)$attribute->getSource()->getOptionText($attrValue);
|
413 |
+
if ($optionText) {
|
414 |
+
$attributeMultiSelect[$attrCode] = $optionText;
|
415 |
+
$attrValue = null;
|
416 |
+
}
|
417 |
+
} elseif (isset($this->_attributeValues[$attrCode])
|
418 |
+
&& isset($this->_attributeValues[$attrCode][$attrValue])
|
419 |
+
) {
|
420 |
+
$attrValue = $this->_attributeValues[$attrCode][$attrValue];
|
421 |
+
}
|
422 |
+
if (null !== $attrValue) {
|
423 |
+
$row[$attrCode] = $attrValue;
|
424 |
+
}
|
425 |
+
}
|
426 |
+
$row[self::COL_WEBSITE] = $this->_websiteIdToCode[$customer['website_id']];
|
427 |
+
$row[self::COL_STORE] = $this->_storeIdToCode[$customer['store_id']];
|
428 |
+
|
429 |
+
return $row;
|
430 |
+
}
|
431 |
+
|
432 |
+
/**
|
433 |
+
* Prepare Default Address
|
434 |
+
*
|
435 |
+
* @param Mage_Customer_Model_Customer $customer
|
436 |
+
* @return array
|
437 |
+
*/
|
438 |
+
protected function _prepareDefaultAddress($customer)
|
439 |
+
{
|
440 |
+
$defaultAddrMap = Mage_ImportExport_Model_Import_Entity_Customer_Address::getDefaultAddressAttrMapping();
|
441 |
+
$defaultAddrs = array();
|
442 |
+
|
443 |
+
foreach ($defaultAddrMap as $colName => $addrAttrCode) {
|
444 |
+
if (!empty($customer[$addrAttrCode])) {
|
445 |
+
$defaultAddrs[$customer[$addrAttrCode]][] = $colName;
|
446 |
+
}
|
447 |
+
}
|
448 |
+
return $defaultAddrs;
|
449 |
+
}
|
450 |
+
|
451 |
+
/**
|
452 |
+
* Add default fields to row
|
453 |
+
*
|
454 |
+
* @param $defaultAddrs
|
455 |
+
* @param $addressId
|
456 |
+
* @param $row
|
457 |
+
* @return mixed
|
458 |
+
*/
|
459 |
+
protected function _addDefaultAddressFields($defaultAddrs, $addressId, $row)
|
460 |
+
{
|
461 |
+
if (isset($defaultAddrs[$addressId])) {
|
462 |
+
foreach ($defaultAddrs[$addressId] as $colName) {
|
463 |
+
$row[$colName] = 1;
|
464 |
+
}
|
465 |
+
return $row;
|
466 |
+
}
|
467 |
+
return $row;
|
468 |
+
}
|
469 |
+
|
470 |
+
/**
|
471 |
+
* Get Next Address MultiSelect option
|
472 |
+
*
|
473 |
+
* @param array $addrAttributeMultiSelect
|
474 |
+
* @param int $addressId
|
475 |
+
* @param array $addrRow
|
476 |
+
* @return array
|
477 |
+
*/
|
478 |
+
protected function _addNextAddressOptions(&$addrAttributeMultiSelect, $addressId, $addrRow)
|
479 |
+
{
|
480 |
+
if (!isset($addrAttributeMultiSelect[$addressId])) {
|
481 |
+
return $addrRow;
|
482 |
+
}
|
483 |
+
$addrMultiSelectOption = &$addrAttributeMultiSelect[$addressId];
|
484 |
+
if (is_array($addrMultiSelectOption)) {
|
485 |
+
foreach ($addrMultiSelectOption as $column => &$options) {
|
486 |
+
$addrRow[$column] = array_shift($options);
|
487 |
+
}
|
488 |
+
}
|
489 |
+
return $addrRow;
|
490 |
+
}
|
491 |
+
|
492 |
+
/**
|
493 |
+
* Check if exist MultiSelect Options
|
494 |
+
*
|
495 |
+
* @param array $addrAttributeMultiSelect
|
496 |
+
* @param int $addressId
|
497 |
+
* @return bool
|
498 |
+
*/
|
499 |
+
protected function _isExistMultiSelectOptions($addrAttributeMultiSelect, $addressId)
|
500 |
+
{
|
501 |
+
$result = false;
|
502 |
+
if (!isset($addrAttributeMultiSelect[$addressId])) {
|
503 |
+
return $result;
|
504 |
+
}
|
505 |
+
$addrMultiSelectOption = $addrAttributeMultiSelect[$addressId];
|
506 |
+
if (is_array($addrMultiSelectOption)) {
|
507 |
+
foreach ($addrMultiSelectOption as $option) {
|
508 |
+
if (!empty($option)) {
|
509 |
+
$result = true;
|
510 |
+
break;
|
511 |
+
}
|
512 |
+
}
|
513 |
+
}
|
514 |
+
return $result;
|
515 |
+
}
|
516 |
}
|
app/code/core/Mage/ImportExport/Model/Export/Entity/Product.php
CHANGED
@@ -102,24 +102,18 @@ class Mage_ImportExport_Model_Export_Entity_Product extends Mage_ImportExport_Mo
|
|
102 |
protected $_productTypeModels = array();
|
103 |
|
104 |
/**
|
105 |
-
*
|
106 |
*
|
107 |
* @var array
|
108 |
*/
|
109 |
-
protected $
|
110 |
|
111 |
/**
|
112 |
-
*
|
113 |
*
|
114 |
* @var array
|
115 |
*/
|
116 |
-
protected $
|
117 |
-
|
118 |
-
/**
|
119 |
-
* Attribute types
|
120 |
-
* @var array
|
121 |
-
*/
|
122 |
-
protected $_attributeTypes = array();
|
123 |
|
124 |
/**
|
125 |
* Constructor.
|
@@ -546,11 +540,49 @@ class Mage_ImportExport_Model_Export_Entity_Product extends Mage_ImportExport_Mo
|
|
546 |
}
|
547 |
|
548 |
/**
|
549 |
-
* Export process.
|
|
|
|
|
550 |
*
|
551 |
* @return string
|
552 |
*/
|
553 |
public function export()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
554 |
{
|
555 |
//Execution time may be very long
|
556 |
set_time_limit(0);
|
@@ -637,7 +669,41 @@ class Mage_ImportExport_Model_Export_Entity_Product extends Mage_ImportExport_Mo
|
|
637 |
$this->_attributeValues[$attrCode],
|
638 |
array_flip($attrValue)
|
639 |
);
|
640 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
641 |
} else if (isset($this->_attributeValues[$attrCode][$attrValue])) {
|
642 |
$attrValue = $this->_attributeValues[$attrCode][$attrValue];
|
643 |
} else {
|
@@ -737,6 +803,7 @@ class Mage_ImportExport_Model_Export_Entity_Product extends Mage_ImportExport_Mo
|
|
737 |
);
|
738 |
|
739 |
foreach ($this->_storeIdToCode as $storeId => &$storeCode) {
|
|
|
740 |
$options = Mage::getResourceModel('catalog/product_option_collection')
|
741 |
->reset()
|
742 |
->addTitleToResult($storeId)
|
@@ -769,7 +836,7 @@ class Mage_ImportExport_Model_Export_Entity_Product extends Mage_ImportExport_Mo
|
|
769 |
}
|
770 |
$values = $option->getValues();
|
771 |
if ($values) {
|
772 |
-
$firstValue =
|
773 |
$priceType = $firstValue['price_type'] == 'percent' ? '%' : '';
|
774 |
|
775 |
if ($defaultStoreId == $storeId) {
|
@@ -788,8 +855,14 @@ class Mage_ImportExport_Model_Export_Entity_Product extends Mage_ImportExport_Mo
|
|
788 |
$row['_custom_option_store'] = $this->_storeIdToCode[$storeId];
|
789 |
}
|
790 |
$customOptionsDataPre[$productId][$optionId][] = $row;
|
|
|
791 |
}
|
792 |
foreach ($values as $value) {
|
|
|
|
|
|
|
|
|
|
|
793 |
$row = array();
|
794 |
$valuePriceType = $value['price_type'] == 'percent' ? '%' : '';
|
795 |
|
@@ -798,7 +871,7 @@ class Mage_ImportExport_Model_Export_Entity_Product extends Mage_ImportExport_Mo
|
|
798 |
$row['_custom_option_row_price'] = $value['price'] . $valuePriceType;
|
799 |
$row['_custom_option_row_sku'] = $value['sku'];
|
800 |
$row['_custom_option_row_sort'] = $value['sort_order'];
|
801 |
-
}
|
802 |
$row['_custom_option_row_title'] = $value['title'];
|
803 |
}
|
804 |
if ($row) {
|
@@ -905,94 +978,93 @@ class Mage_ImportExport_Model_Export_Entity_Product extends Mage_ImportExport_Mo
|
|
905 |
if (!empty($configurableData[$productId])) {
|
906 |
$dataRow = array_merge($dataRow, array_shift($configurableData[$productId]));
|
907 |
}
|
908 |
-
if(!empty($rowMultiselects[$productId])) {
|
909 |
-
foreach ($rowMultiselects[$productId] as $attrKey => $attrVal) {
|
910 |
-
if (
|
911 |
-
$dataRow[$attrKey] = array_shift($rowMultiselects[$productId][$attrKey]);
|
912 |
}
|
913 |
}
|
914 |
}
|
915 |
|
916 |
$writer->writeRow($dataRow);
|
917 |
-
|
918 |
-
|
919 |
-
$largestLinks = 0;
|
920 |
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
|
|
925 |
}
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
$additionalRowsCount = max($additionalRowsCount, count($rowTierPrices[$productId]));
|
934 |
-
}
|
935 |
-
if (!empty($rowGroupPrices[$productId])) {
|
936 |
-
$additionalRowsCount = max($additionalRowsCount, count($rowGroupPrices[$productId]));
|
937 |
-
}
|
938 |
-
if (!empty($mediaGalery[$productId])) {
|
939 |
-
$additionalRowsCount = max($additionalRowsCount, count($mediaGalery[$productId]));
|
940 |
-
}
|
941 |
-
if (!empty($customOptionsData[$productId])) {
|
942 |
-
$additionalRowsCount = max($additionalRowsCount, count($customOptionsData[$productId]));
|
943 |
-
}
|
944 |
-
if (!empty($configurableData[$productId])) {
|
945 |
-
$additionalRowsCount = max($additionalRowsCount, count($configurableData[$productId]));
|
946 |
-
}
|
947 |
-
if (!empty($rowMultiselects[$productId])) {
|
948 |
-
foreach($rowMultiselects[$productId] as $attributes) {
|
949 |
-
$additionalRowsCount = max($additionalRowsCount, count($attributes));
|
950 |
}
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
$
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
$dataRow = array_merge($dataRow, array_shift($rowGroupPrices[$productId]));
|
967 |
-
}
|
968 |
-
if (!empty($mediaGalery[$productId])) {
|
969 |
-
$dataRow = array_merge($dataRow, array_shift($mediaGalery[$productId]));
|
970 |
}
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
979 |
}
|
980 |
}
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
}
|
993 |
}
|
|
|
994 |
}
|
995 |
-
$writer->writeRow($dataRow);
|
996 |
}
|
997 |
}
|
998 |
}
|
@@ -1058,6 +1130,7 @@ class Mage_ImportExport_Model_Export_Entity_Product extends Mage_ImportExport_Mo
|
|
1058 |
$this->_attributeValues[$attribute->getAttributeCode()] = $this->getAttributeOptions($attribute);
|
1059 |
$this->_attributeTypes[$attribute->getAttributeCode()] =
|
1060 |
Mage_ImportExport_Model_Import::getAttributeType($attribute);
|
|
|
1061 |
}
|
1062 |
return $this;
|
1063 |
}
|
102 |
protected $_productTypeModels = array();
|
103 |
|
104 |
/**
|
105 |
+
* Attribute types
|
106 |
*
|
107 |
* @var array
|
108 |
*/
|
109 |
+
protected $_attributeTypes = array();
|
110 |
|
111 |
/**
|
112 |
+
* Attribute scopes
|
113 |
*
|
114 |
* @var array
|
115 |
*/
|
116 |
+
protected $_attributeScopes = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
|
118 |
/**
|
119 |
* Constructor.
|
540 |
}
|
541 |
|
542 |
/**
|
543 |
+
* Export process and return contents of temporary file.
|
544 |
+
*
|
545 |
+
* @deprecated after ver 1.9.2.4 use $this->exportFile() instead
|
546 |
*
|
547 |
* @return string
|
548 |
*/
|
549 |
public function export()
|
550 |
+
{
|
551 |
+
$this->_prepareExport();
|
552 |
+
|
553 |
+
return $this->getWriter()->getContents();
|
554 |
+
}
|
555 |
+
|
556 |
+
/**
|
557 |
+
* Export process and return temporary file through array.
|
558 |
+
*
|
559 |
+
* This method will return following array:
|
560 |
+
*
|
561 |
+
* array(
|
562 |
+
* 'rows' => count of written rows,
|
563 |
+
* 'value' => path to created file
|
564 |
+
* )
|
565 |
+
*
|
566 |
+
* @return array
|
567 |
+
*/
|
568 |
+
public function exportFile()
|
569 |
+
{
|
570 |
+
$this->_prepareExport();
|
571 |
+
|
572 |
+
$writer = $this->getWriter();
|
573 |
+
|
574 |
+
return array(
|
575 |
+
'rows' => $writer->getRowsCount(),
|
576 |
+
'value' => $writer->getDestination()
|
577 |
+
);
|
578 |
+
}
|
579 |
+
|
580 |
+
/**
|
581 |
+
* Prepare data for export.
|
582 |
+
*
|
583 |
+
* @return void
|
584 |
+
*/
|
585 |
+
protected function _prepareExport()
|
586 |
{
|
587 |
//Execution time may be very long
|
588 |
set_time_limit(0);
|
669 |
$this->_attributeValues[$attrCode],
|
670 |
array_flip($attrValue)
|
671 |
);
|
672 |
+
|
673 |
+
switch ($this->_attributeScopes[$attrCode]) {
|
674 |
+
case Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE:
|
675 |
+
if (isset($rowMultiselects[$itemId][0][$attrCode])
|
676 |
+
&& $attrValue == $rowMultiselects[$itemId][0][$attrCode]
|
677 |
+
) {
|
678 |
+
$attrValue = null;
|
679 |
+
}
|
680 |
+
break;
|
681 |
+
|
682 |
+
case Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL:
|
683 |
+
if ($storeId != $defaultStoreId) {
|
684 |
+
$attrValue = null;
|
685 |
+
}
|
686 |
+
break;
|
687 |
+
|
688 |
+
case Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE:
|
689 |
+
$websiteId = $this->_storeIdToWebsiteId[$storeId];
|
690 |
+
$websiteStoreId = array_search($websiteId, $this->_storeIdToWebsiteId);
|
691 |
+
if ((isset($rowMultiselects[$itemId][$websiteStoreId][$attrCode])
|
692 |
+
&& $attrValue == $rowMultiselects[$itemId][$websiteStoreId][$attrCode])
|
693 |
+
|| $attrValue == $rowMultiselects[$itemId][0][$attrCode]
|
694 |
+
) {
|
695 |
+
$attrValue = null;
|
696 |
+
}
|
697 |
+
break;
|
698 |
+
|
699 |
+
default:
|
700 |
+
break;
|
701 |
+
}
|
702 |
+
|
703 |
+
if ($attrValue) {
|
704 |
+
$rowMultiselects[$itemId][$storeId][$attrCode] = $attrValue;
|
705 |
+
$rowIsEmpty = false;
|
706 |
+
}
|
707 |
} else if (isset($this->_attributeValues[$attrCode][$attrValue])) {
|
708 |
$attrValue = $this->_attributeValues[$attrCode][$attrValue];
|
709 |
} else {
|
803 |
);
|
804 |
|
805 |
foreach ($this->_storeIdToCode as $storeId => &$storeCode) {
|
806 |
+
$skip = false;
|
807 |
$options = Mage::getResourceModel('catalog/product_option_collection')
|
808 |
->reset()
|
809 |
->addTitleToResult($storeId)
|
836 |
}
|
837 |
$values = $option->getValues();
|
838 |
if ($values) {
|
839 |
+
$firstValue = reset($values);
|
840 |
$priceType = $firstValue['price_type'] == 'percent' ? '%' : '';
|
841 |
|
842 |
if ($defaultStoreId == $storeId) {
|
855 |
$row['_custom_option_store'] = $this->_storeIdToCode[$storeId];
|
856 |
}
|
857 |
$customOptionsDataPre[$productId][$optionId][] = $row;
|
858 |
+
$skip = true;
|
859 |
}
|
860 |
foreach ($values as $value) {
|
861 |
+
if ($skip) {
|
862 |
+
$skip = false;
|
863 |
+
continue;
|
864 |
+
}
|
865 |
+
|
866 |
$row = array();
|
867 |
$valuePriceType = $value['price_type'] == 'percent' ? '%' : '';
|
868 |
|
871 |
$row['_custom_option_row_price'] = $value['price'] . $valuePriceType;
|
872 |
$row['_custom_option_row_sku'] = $value['sku'];
|
873 |
$row['_custom_option_row_sort'] = $value['sort_order'];
|
874 |
+
} else {
|
875 |
$row['_custom_option_row_title'] = $value['title'];
|
876 |
}
|
877 |
if ($row) {
|
978 |
if (!empty($configurableData[$productId])) {
|
979 |
$dataRow = array_merge($dataRow, array_shift($configurableData[$productId]));
|
980 |
}
|
981 |
+
if(!empty($rowMultiselects[$productId][$storeId])) {
|
982 |
+
foreach ($rowMultiselects[$productId][$storeId] as $attrKey => $attrVal) {
|
983 |
+
if (isset($rowMultiselects[$productId][$storeId][$attrKey])) {
|
984 |
+
$dataRow[$attrKey] = array_shift($rowMultiselects[$productId][$storeId][$attrKey]);
|
985 |
}
|
986 |
}
|
987 |
}
|
988 |
|
989 |
$writer->writeRow($dataRow);
|
990 |
+
// calculate largest links block
|
991 |
+
$largestLinks = 0;
|
|
|
992 |
|
993 |
+
if (isset($linksRows[$productId])) {
|
994 |
+
$linksRowsKeys = array_keys($linksRows[$productId]);
|
995 |
+
foreach ($linksRowsKeys as $linksRowsKey) {
|
996 |
+
$largestLinks = max($largestLinks, count($linksRows[$productId][$linksRowsKey]));
|
997 |
+
}
|
998 |
}
|
999 |
+
$additionalRowsCount = max(
|
1000 |
+
count($rowCategories[$productId]),
|
1001 |
+
count($rowWebsites[$productId]),
|
1002 |
+
$largestLinks
|
1003 |
+
);
|
1004 |
+
if (!empty($rowTierPrices[$productId])) {
|
1005 |
+
$additionalRowsCount = max($additionalRowsCount, count($rowTierPrices[$productId]));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1006 |
}
|
1007 |
+
if (!empty($rowGroupPrices[$productId])) {
|
1008 |
+
$additionalRowsCount = max($additionalRowsCount, count($rowGroupPrices[$productId]));
|
1009 |
+
}
|
1010 |
+
if (!empty($mediaGalery[$productId])) {
|
1011 |
+
$additionalRowsCount = max($additionalRowsCount, count($mediaGalery[$productId]));
|
1012 |
+
}
|
1013 |
+
if (!empty($customOptionsData[$productId])) {
|
1014 |
+
$additionalRowsCount = max($additionalRowsCount, count($customOptionsData[$productId]));
|
1015 |
+
}
|
1016 |
+
if (!empty($configurableData[$productId])) {
|
1017 |
+
$additionalRowsCount = max($additionalRowsCount, count($configurableData[$productId]));
|
1018 |
+
}
|
1019 |
+
if (!empty($rowMultiselects[$productId][$storeId])) {
|
1020 |
+
foreach($rowMultiselects[$productId][$storeId] as $attributes) {
|
1021 |
+
$additionalRowsCount = max($additionalRowsCount, count($attributes));
|
|
|
|
|
|
|
|
|
1022 |
}
|
1023 |
+
}
|
1024 |
+
if ($additionalRowsCount) {
|
1025 |
+
for ($i = 0; $i < $additionalRowsCount; $i++) {
|
1026 |
+
$dataRow = array();
|
1027 |
+
|
1028 |
+
$this->_updateDataWithCategoryColumns($dataRow, $rowCategories, $productId);
|
1029 |
+
if ($rowWebsites[$productId]) {
|
1030 |
+
$dataRow['_product_websites'] = $this
|
1031 |
+
->_websiteIdToCode[array_shift($rowWebsites[$productId])];
|
1032 |
+
}
|
1033 |
+
if (!empty($rowTierPrices[$productId])) {
|
1034 |
+
$dataRow = array_merge($dataRow, array_shift($rowTierPrices[$productId]));
|
1035 |
+
}
|
1036 |
+
if (!empty($rowGroupPrices[$productId])) {
|
1037 |
+
$dataRow = array_merge($dataRow, array_shift($rowGroupPrices[$productId]));
|
1038 |
+
}
|
1039 |
+
if (!empty($mediaGalery[$productId])) {
|
1040 |
+
$dataRow = array_merge($dataRow, array_shift($mediaGalery[$productId]));
|
1041 |
+
}
|
1042 |
+
foreach ($linkIdColPrefix as $linkId => &$colPrefix) {
|
1043 |
+
if (!empty($linksRows[$productId][$linkId])) {
|
1044 |
+
$linkData = array_shift($linksRows[$productId][$linkId]);
|
1045 |
+
$dataRow[$colPrefix . 'position'] = $linkData['position'];
|
1046 |
+
$dataRow[$colPrefix . 'sku'] = $linkData['sku'];
|
1047 |
+
|
1048 |
+
if (null !== $linkData['default_qty']) {
|
1049 |
+
$dataRow[$colPrefix . 'default_qty'] = $linkData['default_qty'];
|
1050 |
+
}
|
1051 |
}
|
1052 |
}
|
1053 |
+
if (!empty($customOptionsData[$productId])) {
|
1054 |
+
$dataRow = array_merge($dataRow, array_shift($customOptionsData[$productId]));
|
1055 |
+
}
|
1056 |
+
if (!empty($configurableData[$productId])) {
|
1057 |
+
$dataRow = array_merge($dataRow, array_shift($configurableData[$productId]));
|
1058 |
+
}
|
1059 |
+
if(!empty($rowMultiselects[$productId][$storeId])) {
|
1060 |
+
foreach($rowMultiselects[$productId][$storeId] as $attrKey=>$attrVal) {
|
1061 |
+
if(isset($rowMultiselects[$productId][$storeId][$attrKey])) {
|
1062 |
+
$dataRow[$attrKey] = array_shift($rowMultiselects[$productId][$storeId][$attrKey]);
|
1063 |
+
}
|
1064 |
}
|
1065 |
}
|
1066 |
+
$writer->writeRow($dataRow);
|
1067 |
}
|
|
|
1068 |
}
|
1069 |
}
|
1070 |
}
|
1130 |
$this->_attributeValues[$attribute->getAttributeCode()] = $this->getAttributeOptions($attribute);
|
1131 |
$this->_attributeTypes[$attribute->getAttributeCode()] =
|
1132 |
Mage_ImportExport_Model_Import::getAttributeType($attribute);
|
1133 |
+
$this->_attributeScopes[$attribute->getAttributeCode()] = $attribute->getIsGlobal();
|
1134 |
}
|
1135 |
return $this;
|
1136 |
}
|
app/code/core/Mage/ImportExport/Model/Export/Entity/Product/Type/Abstract.php
CHANGED
@@ -96,7 +96,7 @@ abstract class Mage_ImportExport_Model_Export_Entity_Product_Type_Abstract
|
|
96 |
$data = $this->_attributeOverrides[$attribute->getAttributeCode()];
|
97 |
|
98 |
if (isset($data['options_method']) && method_exists($this, $data['options_method'])) {
|
99 |
-
$data['filter_options'] = $this
|
100 |
}
|
101 |
$attribute->addData($data);
|
102 |
|
96 |
$data = $this->_attributeOverrides[$attribute->getAttributeCode()];
|
97 |
|
98 |
if (isset($data['options_method']) && method_exists($this, $data['options_method'])) {
|
99 |
+
$data['filter_options'] = $this->{$data['options_method']}();
|
100 |
}
|
101 |
$attribute->addData($data);
|
102 |
|
app/code/core/Mage/ImportExport/Model/Import/Entity/Customer.php
CHANGED
@@ -43,6 +43,7 @@ class Mage_ImportExport_Model_Import_Entity_Customer extends Mage_ImportExport_M
|
|
43 |
*/
|
44 |
const SCOPE_DEFAULT = 1;
|
45 |
const SCOPE_ADDRESS = -1;
|
|
|
46 |
|
47 |
/**
|
48 |
* Permanent column names.
|
@@ -50,9 +51,10 @@ class Mage_ImportExport_Model_Import_Entity_Customer extends Mage_ImportExport_M
|
|
50 |
* Names that begins with underscore is not an attribute. This name convention is for
|
51 |
* to avoid interference with same attribute name.
|
52 |
*/
|
53 |
-
const COL_EMAIL
|
54 |
-
const COL_WEBSITE
|
55 |
-
const COL_STORE
|
|
|
56 |
|
57 |
/**
|
58 |
* Error codes.
|
@@ -95,6 +97,13 @@ class Mage_ImportExport_Model_Import_Entity_Customer extends Mage_ImportExport_M
|
|
95 |
*/
|
96 |
protected $_attributes = array();
|
97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
/**
|
99 |
* Customer account sharing. TRUE - is global, FALSE - is per website.
|
100 |
*
|
@@ -276,7 +285,7 @@ class Mage_ImportExport_Model_Import_Entity_Customer extends Mage_ImportExport_M
|
|
276 |
{
|
277 |
$collection = Mage::getResourceModel('customer/attribute_collection')->addSystemHiddenFilterWithPasswordHash();
|
278 |
foreach ($collection as $attribute) {
|
279 |
-
$
|
280 |
'id' => $attribute->getId(),
|
281 |
'is_required' => $attribute->getIsRequired(),
|
282 |
'is_static' => $attribute->isStatic(),
|
@@ -284,6 +293,10 @@ class Mage_ImportExport_Model_Import_Entity_Customer extends Mage_ImportExport_M
|
|
284 |
'type' => Mage_ImportExport_Model_Import::getAttributeType($attribute),
|
285 |
'options' => $this->getAttributeOptions($attribute)
|
286 |
);
|
|
|
|
|
|
|
|
|
287 |
}
|
288 |
return $this;
|
289 |
}
|
@@ -363,6 +376,7 @@ class Mage_ImportExport_Model_Import_Entity_Customer extends Mage_ImportExport_M
|
|
363 |
$nextEntityId = Mage::getResourceHelper('importexport')->getNextAutoincrement($table);
|
364 |
$passId = $resource->getAttribute('password_hash')->getId();
|
365 |
$passTable = $resource->getAttribute('password_hash')->getBackend()->getTable();
|
|
|
366 |
|
367 |
while ($bunch = $this->_dataSourceModel->getNextBunch()) {
|
368 |
$entityRowsIn = array();
|
@@ -415,6 +429,11 @@ class Mage_ImportExport_Model_Import_Entity_Customer extends Mage_ImportExport_M
|
|
415 |
$value = $attrParams['options'][strtolower($value)];
|
416 |
} elseif ('datetime' == $attrParams['type']) {
|
417 |
$value = gmstrftime($strftimeFormat, strtotime($value));
|
|
|
|
|
|
|
|
|
|
|
418 |
} elseif ($backModel) {
|
419 |
$attribute->getBackend()->beforeSave($resource->setData($attrCode, $value));
|
420 |
$value = $resource->getData($attrCode);
|
@@ -429,6 +448,24 @@ class Mage_ImportExport_Model_Import_Entity_Customer extends Mage_ImportExport_M
|
|
429 |
if (isset($rowData['password']) && strlen($rowData['password'])) {
|
430 |
$attributes[$passTable][$entityId][$passId] = $resource->hashPassword($rowData['password']);
|
431 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
432 |
}
|
433 |
}
|
434 |
$this->_saveCustomerEntity($entityRowsIn, $entityRowsUp)->_saveCustomerAttributes($attributes);
|
@@ -521,7 +558,22 @@ class Mage_ImportExport_Model_Import_Entity_Customer extends Mage_ImportExport_M
|
|
521 |
*/
|
522 |
public function getRowScope(array $rowData)
|
523 |
{
|
524 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
525 |
}
|
526 |
|
527 |
/**
|
@@ -607,15 +659,17 @@ class Mage_ImportExport_Model_Import_Entity_Customer extends Mage_ImportExport_M
|
|
607 |
if (isset($this->_invalidRows[$rowNum])) {
|
608 |
$email = false; // mark row as invalid for next address rows
|
609 |
}
|
610 |
-
}
|
611 |
if (null === $email) { // first row is not SCOPE_DEFAULT
|
612 |
$this->addRowError(self::ERROR_EMAIL_IS_EMPTY, $rowNum);
|
613 |
} elseif (false === $email) { // SCOPE_DEFAULT row is invalid
|
614 |
$this->addRowError(self::ERROR_ROW_IS_ORPHAN, $rowNum);
|
615 |
}
|
616 |
}
|
617 |
-
|
618 |
-
|
|
|
|
|
619 |
|
620 |
return !isset($this->_invalidRows[$rowNum]);
|
621 |
}
|
43 |
*/
|
44 |
const SCOPE_DEFAULT = 1;
|
45 |
const SCOPE_ADDRESS = -1;
|
46 |
+
const SCOPE_OPTIONS = 2;
|
47 |
|
48 |
/**
|
49 |
* Permanent column names.
|
51 |
* Names that begins with underscore is not an attribute. This name convention is for
|
52 |
* to avoid interference with same attribute name.
|
53 |
*/
|
54 |
+
const COL_EMAIL = 'email';
|
55 |
+
const COL_WEBSITE = '_website';
|
56 |
+
const COL_STORE = '_store';
|
57 |
+
const COL_POSTCODE = '_address_postcode';
|
58 |
|
59 |
/**
|
60 |
* Error codes.
|
97 |
*/
|
98 |
protected $_attributes = array();
|
99 |
|
100 |
+
/**
|
101 |
+
* MultiSelect Attributes
|
102 |
+
*
|
103 |
+
* @var array
|
104 |
+
*/
|
105 |
+
protected $_multiSelectAttributes = array();
|
106 |
+
|
107 |
/**
|
108 |
* Customer account sharing. TRUE - is global, FALSE - is per website.
|
109 |
*
|
285 |
{
|
286 |
$collection = Mage::getResourceModel('customer/attribute_collection')->addSystemHiddenFilterWithPasswordHash();
|
287 |
foreach ($collection as $attribute) {
|
288 |
+
$attributeArray = array(
|
289 |
'id' => $attribute->getId(),
|
290 |
'is_required' => $attribute->getIsRequired(),
|
291 |
'is_static' => $attribute->isStatic(),
|
293 |
'type' => Mage_ImportExport_Model_Import::getAttributeType($attribute),
|
294 |
'options' => $this->getAttributeOptions($attribute)
|
295 |
);
|
296 |
+
$this->_attributes[$attribute->getAttributeCode()] = $attributeArray;
|
297 |
+
if (Mage_ImportExport_Model_Import::getAttributeType($attribute) == 'multiselect') {
|
298 |
+
$this->_multiSelectAttributes[$attribute->getAttributeCode()] = $attributeArray;
|
299 |
+
}
|
300 |
}
|
301 |
return $this;
|
302 |
}
|
376 |
$nextEntityId = Mage::getResourceHelper('importexport')->getNextAutoincrement($table);
|
377 |
$passId = $resource->getAttribute('password_hash')->getId();
|
378 |
$passTable = $resource->getAttribute('password_hash')->getBackend()->getTable();
|
379 |
+
$multiSelect = array();
|
380 |
|
381 |
while ($bunch = $this->_dataSourceModel->getNextBunch()) {
|
382 |
$entityRowsIn = array();
|
429 |
$value = $attrParams['options'][strtolower($value)];
|
430 |
} elseif ('datetime' == $attrParams['type']) {
|
431 |
$value = gmstrftime($strftimeFormat, strtotime($value));
|
432 |
+
} elseif ('multiselect' == $attrParams['type']) {
|
433 |
+
$value = (array)$attrParams['options'][strtolower($value)];
|
434 |
+
$attribute->getBackend()->beforeSave($resource->setData($attrCode, $value));
|
435 |
+
$value = $resource->getData($attrCode);
|
436 |
+
$multiSelect[$entityId][] = $value;
|
437 |
} elseif ($backModel) {
|
438 |
$attribute->getBackend()->beforeSave($resource->setData($attrCode, $value));
|
439 |
$value = $resource->getData($attrCode);
|
448 |
if (isset($rowData['password']) && strlen($rowData['password'])) {
|
449 |
$attributes[$passTable][$entityId][$passId] = $resource->hashPassword($rowData['password']);
|
450 |
}
|
451 |
+
} elseif (self::SCOPE_OPTIONS == $this->getRowScope($rowData)) {
|
452 |
+
foreach (array_intersect_key($rowData, $this->_attributes) as $attrCode => $value) {
|
453 |
+
$attribute = $resource->getAttribute($attrCode);
|
454 |
+
$attrParams = $this->_attributes[$attrCode];
|
455 |
+
if ($attrParams['type'] == 'multiselect') {
|
456 |
+
if (!isset($attrParams['options'][strtolower($value)])) {
|
457 |
+
continue;
|
458 |
+
}
|
459 |
+
$value = $attrParams['options'][strtolower($value)];
|
460 |
+
if (isset($multiSelect[$entityId])) {
|
461 |
+
$multiSelect[$entityId][] = $value;
|
462 |
+
$value = $multiSelect[$entityId];
|
463 |
+
}
|
464 |
+
$attribute->getBackend()->beforeSave($resource->setData($attrCode, $value));
|
465 |
+
$value = $resource->getData($attrCode);
|
466 |
+
$attributes[$attribute->getBackend()->getTable()][$entityId][$attrParams['id']] = $value;
|
467 |
+
}
|
468 |
+
}
|
469 |
}
|
470 |
}
|
471 |
$this->_saveCustomerEntity($entityRowsIn, $entityRowsUp)->_saveCustomerAttributes($attributes);
|
558 |
*/
|
559 |
public function getRowScope(array $rowData)
|
560 |
{
|
561 |
+
$foundOptions = false;
|
562 |
+
foreach ($this->_multiSelectAttributes as $attrCode => $attribute) {
|
563 |
+
if ($rowData[$attrCode]) {
|
564 |
+
$foundOptions = true;
|
565 |
+
}
|
566 |
+
}
|
567 |
+
|
568 |
+
$scope = self::SCOPE_OPTIONS;
|
569 |
+
if (strlen(trim($rowData[self::COL_EMAIL]))) {
|
570 |
+
$scope = self::SCOPE_DEFAULT;
|
571 |
+
} elseif ($foundOptions) {
|
572 |
+
$scope = self::SCOPE_OPTIONS;
|
573 |
+
} elseif (strlen(trim($rowData[self::COL_POSTCODE]))) {
|
574 |
+
$scope = self::SCOPE_ADDRESS;
|
575 |
+
}
|
576 |
+
return $scope;
|
577 |
}
|
578 |
|
579 |
/**
|
659 |
if (isset($this->_invalidRows[$rowNum])) {
|
660 |
$email = false; // mark row as invalid for next address rows
|
661 |
}
|
662 |
+
} elseif (self::SCOPE_OPTIONS != $rowScope) {
|
663 |
if (null === $email) { // first row is not SCOPE_DEFAULT
|
664 |
$this->addRowError(self::ERROR_EMAIL_IS_EMPTY, $rowNum);
|
665 |
} elseif (false === $email) { // SCOPE_DEFAULT row is invalid
|
666 |
$this->addRowError(self::ERROR_ROW_IS_ORPHAN, $rowNum);
|
667 |
}
|
668 |
}
|
669 |
+
|
670 |
+
if ($rowScope != self::SCOPE_OPTIONS) {
|
671 |
+
$this->_addressEntity->validateRow($rowData, $rowNum);
|
672 |
+
}
|
673 |
|
674 |
return !isset($this->_invalidRows[$rowNum]);
|
675 |
}
|
app/code/core/Mage/ImportExport/Model/Import/Entity/Customer/Address.php
CHANGED
@@ -175,6 +175,7 @@ class Mage_ImportExport_Model_Import_Entity_Customer_Address extends Mage_Import
|
|
175 |
$regionIdTable = $regionIdAttr->getBackend()->getTable();
|
176 |
$regionIdAttrId = $regionIdAttr->getId();
|
177 |
$isAppendMode = Mage_ImportExport_Model_Import::BEHAVIOR_APPEND == $this->_customer->getBehavior();
|
|
|
178 |
|
179 |
while ($bunch = $this->_dataSourceModel->getNextBunch()) {
|
180 |
$entityRows = array();
|
@@ -182,15 +183,17 @@ class Mage_ImportExport_Model_Import_Entity_Customer_Address extends Mage_Import
|
|
182 |
$defaults = array(); // customer default addresses (billing/shipping) data
|
183 |
|
184 |
foreach ($bunch as $rowNum => $rowData) {
|
185 |
-
|
186 |
-
|
187 |
-
) {
|
188 |
$customerId = $this->_customer->getCustomerId(
|
189 |
$rowData[Mage_ImportExport_Model_Import_Entity_Customer::COL_EMAIL],
|
190 |
$rowData[Mage_ImportExport_Model_Import_Entity_Customer::COL_WEBSITE]
|
191 |
);
|
192 |
}
|
193 |
-
if (
|
|
|
|
|
|
|
194 |
continue;
|
195 |
}
|
196 |
|
@@ -205,6 +208,9 @@ class Mage_ImportExport_Model_Import_Entity_Customer_Address extends Mage_Import
|
|
205 |
$value = $attrParams['options'][strtolower($rowData[$attrAlias])];
|
206 |
} elseif ('datetime' == $attrParams['type']) {
|
207 |
$value = gmstrftime($strftimeFormat, strtotime($rowData[$attrAlias]));
|
|
|
|
|
|
|
208 |
} else {
|
209 |
$value = $rowData[$attrAlias];
|
210 |
}
|
@@ -220,40 +226,56 @@ class Mage_ImportExport_Model_Import_Entity_Customer_Address extends Mage_Import
|
|
220 |
|
221 |
$entityId = $nextEntityId++;
|
222 |
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
|
|
|
|
|
|
|
|
236 |
}
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
|
|
243 |
}
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
}
|
258 |
}
|
259 |
}
|
@@ -486,4 +508,22 @@ class Mage_ImportExport_Model_Import_Entity_Customer_Address extends Mage_Import
|
|
486 |
}
|
487 |
return $rowIsValid;
|
488 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
489 |
}
|
175 |
$regionIdTable = $regionIdAttr->getBackend()->getTable();
|
176 |
$regionIdAttrId = $regionIdAttr->getId();
|
177 |
$isAppendMode = Mage_ImportExport_Model_Import::BEHAVIOR_APPEND == $this->_customer->getBehavior();
|
178 |
+
$multiSelect = array();
|
179 |
|
180 |
while ($bunch = $this->_dataSourceModel->getNextBunch()) {
|
181 |
$entityRows = array();
|
183 |
$defaults = array(); // customer default addresses (billing/shipping) data
|
184 |
|
185 |
foreach ($bunch as $rowNum => $rowData) {
|
186 |
+
$rowScope = $this->_getRowScope($rowData);
|
187 |
+
if ($rowScope == Mage_ImportExport_Model_Import_Entity_Customer::SCOPE_DEFAULT) {
|
|
|
188 |
$customerId = $this->_customer->getCustomerId(
|
189 |
$rowData[Mage_ImportExport_Model_Import_Entity_Customer::COL_EMAIL],
|
190 |
$rowData[Mage_ImportExport_Model_Import_Entity_Customer::COL_WEBSITE]
|
191 |
);
|
192 |
}
|
193 |
+
if ($rowScope != Mage_ImportExport_Model_Import_Entity_Customer::SCOPE_OPTIONS) {
|
194 |
+
$multiSelect = array();
|
195 |
+
}
|
196 |
+
if (!$customerId) {
|
197 |
continue;
|
198 |
}
|
199 |
|
208 |
$value = $attrParams['options'][strtolower($rowData[$attrAlias])];
|
209 |
} elseif ('datetime' == $attrParams['type']) {
|
210 |
$value = gmstrftime($strftimeFormat, strtotime($rowData[$attrAlias]));
|
211 |
+
} elseif ('multiselect' == $attrParams['type']) {
|
212 |
+
$value = $attrParams['options'][strtolower($rowData[$attrAlias])];
|
213 |
+
$multiSelect[$attrParams['id']][] = $value;
|
214 |
} else {
|
215 |
$value = $rowData[$attrAlias];
|
216 |
}
|
226 |
|
227 |
$entityId = $nextEntityId++;
|
228 |
|
229 |
+
if ($rowScope == Mage_ImportExport_Model_Import_Entity_Customer::SCOPE_DEFAULT
|
230 |
+
|| $rowScope == Mage_ImportExport_Model_Import_Entity_Customer::SCOPE_ADDRESS
|
231 |
+
) {
|
232 |
+
// entity table data
|
233 |
+
$entityRows[] = array(
|
234 |
+
'entity_id' => $entityId,
|
235 |
+
'entity_type_id' => $this->_entityTypeId,
|
236 |
+
'parent_id' => $customerId,
|
237 |
+
'created_at' => now(),
|
238 |
+
'updated_at' => now()
|
239 |
+
);
|
240 |
+
// attribute values
|
241 |
+
foreach ($this->_attributes as $attrAlias => $attrParams) {
|
242 |
+
if (isset($addressAttributes[$attrParams['id']])) {
|
243 |
+
$attributes[$attrParams['table']][$entityId][$attrParams['id']]
|
244 |
+
= $addressAttributes[$attrParams['id']];
|
245 |
+
}
|
246 |
}
|
247 |
+
// customer default addresses
|
248 |
+
foreach (self::getDefaultAddressAttrMapping() as $colName => $customerAttrCode) {
|
249 |
+
if (!empty($rowData[$colName])) {
|
250 |
+
$attribute = $customer->getAttribute($customerAttrCode);
|
251 |
+
$backendTable = $attribute->getBackend()->getTable();
|
252 |
+
$defaults[$backendTable][$customerId][$attribute->getId()] = $entityId;
|
253 |
+
}
|
254 |
}
|
255 |
+
// let's try to find region ID
|
256 |
+
if (!empty($rowData[$regionColName])) {
|
257 |
+
$countryNormalized = strtolower($rowData[$countryColName]);
|
258 |
+
$regionNormalized = strtolower($rowData[$regionColName]);
|
259 |
+
|
260 |
+
if (isset($this->_countryRegions[$countryNormalized][$regionNormalized])) {
|
261 |
+
$regionId = $this->_countryRegions[$countryNormalized][$regionNormalized];
|
262 |
+
$attributes[$regionIdTable][$entityId][$regionIdAttrId] = $regionId;
|
263 |
+
// set 'region' attribute value as default name
|
264 |
+
$tbl = $this->_attributes[$regionColName]['table'];
|
265 |
+
$regionColNameId = $this->_attributes[$regionColName]['id'];
|
266 |
+
$attributes[$tbl][$entityId][$regionColNameId] = $this->_regions[$regionId];
|
267 |
+
}
|
268 |
+
}
|
269 |
+
} else {
|
270 |
+
foreach (array_intersect_key($rowData, $this->_attributes) as $attrCode => $value) {
|
271 |
+
$attrParams = $this->_attributes[$attrCode];
|
272 |
+
if ($attrParams['type'] == 'multiselect') {
|
273 |
+
$value = '';
|
274 |
+
if (isset($multiSelect[$attrParams['id']])) {
|
275 |
+
$value = implode(',', $multiSelect[$attrParams['id']]);
|
276 |
+
}
|
277 |
+
$attributes[$this->_attributes[$attrCode]['table']][$entityId][$attrParams['id']] = $value;
|
278 |
+
}
|
279 |
}
|
280 |
}
|
281 |
}
|
508 |
}
|
509 |
return $rowIsValid;
|
510 |
}
|
511 |
+
|
512 |
+
/**
|
513 |
+
* Get current scope
|
514 |
+
*
|
515 |
+
* @param $rowData
|
516 |
+
* @return int
|
517 |
+
*/
|
518 |
+
protected function _getRowScope($rowData)
|
519 |
+
{
|
520 |
+
if (strlen(trim($rowData[Mage_ImportExport_Model_Import_Entity_Customer::COL_EMAIL]))) {
|
521 |
+
$scope = Mage_ImportExport_Model_Import_Entity_Customer::SCOPE_DEFAULT;
|
522 |
+
} elseif (strlen(trim($rowData[Mage_ImportExport_Model_Import_Entity_Customer::COL_POSTCODE]))) {
|
523 |
+
$scope = Mage_ImportExport_Model_Import_Entity_Customer::SCOPE_ADDRESS;
|
524 |
+
} else {
|
525 |
+
$scope = Mage_ImportExport_Model_Import_Entity_Customer::SCOPE_OPTIONS;
|
526 |
+
}
|
527 |
+
return $scope;
|
528 |
+
}
|
529 |
}
|
app/code/core/Mage/ImportExport/Model/Import/Entity/Product.php
CHANGED
@@ -422,6 +422,13 @@ class Mage_ImportExport_Model_Import_Entity_Product extends Mage_ImportExport_Mo
|
|
422 |
*/
|
423 |
protected $_fileUploader;
|
424 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
425 |
/**
|
426 |
* Constructor.
|
427 |
*
|
@@ -823,6 +830,9 @@ class Mage_ImportExport_Model_Import_Entity_Product extends Mage_ImportExport_Mo
|
|
823 |
);
|
824 |
|
825 |
$alreadyUsedProductIds = array();
|
|
|
|
|
|
|
826 |
while ($bunch = $this->_dataSourceModel->getNextBunch()) {
|
827 |
$customOptions = array(
|
828 |
'product_id' => array(),
|
@@ -833,7 +843,8 @@ class Mage_ImportExport_Model_Import_Entity_Product extends Mage_ImportExport_Mo
|
|
833 |
$typeTitleTable => array(),
|
834 |
$typeValueTable => array()
|
835 |
);
|
836 |
-
|
|
|
837 |
foreach ($bunch as $rowNum => $rowData) {
|
838 |
$this->_filterRowData($rowData);
|
839 |
if (!$this->isRowAllowedToImport($rowData, $rowNum)) {
|
@@ -844,6 +855,13 @@ class Mage_ImportExport_Model_Import_Entity_Product extends Mage_ImportExport_Mo
|
|
844 |
} elseif (!isset($productId)) {
|
845 |
continue;
|
846 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
847 |
if (!empty($rowData['_custom_option_store'])) {
|
848 |
if (!isset($this->_storeCodeToId[$rowData['_custom_option_store']])) {
|
849 |
continue;
|
@@ -920,41 +938,66 @@ class Mage_ImportExport_Model_Import_Entity_Product extends Mage_ImportExport_Mo
|
|
920 |
}
|
921 |
$prevOptionId = $nextOptionId++; // increment option id, but preserve value for $typeValueTable
|
922 |
}
|
923 |
-
if ($typeSpecific[$type] === true && !empty($rowData['_custom_option_row_title'])
|
924 |
-
&& empty($rowData['_custom_option_store'])) {
|
925 |
-
// complex CO option row
|
926 |
-
$customOptions[$typeValueTable][$prevOptionId][] = array(
|
927 |
-
'option_type_id' => $nextValueId,
|
928 |
-
'sort_order' => empty($rowData['_custom_option_row_sort'])
|
929 |
-
? 0 : abs($rowData['_custom_option_row_sort']),
|
930 |
-
'sku' => !empty($rowData['_custom_option_row_sku'])
|
931 |
-
? $rowData['_custom_option_row_sku'] : ''
|
932 |
-
);
|
933 |
-
if (!isset($customOptions[$typeTitleTable][$nextValueId][0])) { // ensure default title is set
|
934 |
-
$customOptions[$typeTitleTable][$nextValueId][0] = $rowData['_custom_option_row_title'];
|
935 |
-
}
|
936 |
-
$customOptions[$typeTitleTable][$nextValueId][$storeId] = $rowData['_custom_option_row_title'];
|
937 |
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
|
|
|
|
|
|
|
|
|
|
942 |
);
|
943 |
-
if (
|
944 |
-
$
|
945 |
}
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
951 |
$customOptions[$typePriceTable][$nextValueId][0] = $typePriceRow;
|
|
|
|
|
|
|
|
|
|
|
|
|
952 |
}
|
953 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
954 |
}
|
955 |
}
|
956 |
-
$nextValueId++;
|
957 |
}
|
|
|
958 |
if (!empty($rowData['_custom_option_title'])) {
|
959 |
if (!isset($customOptions[$titleTable][$prevOptionId][0])) { // ensure default title is set
|
960 |
$customOptions[$titleTable][$prevOptionId][0] = $rowData['_custom_option_title'];
|
@@ -1105,13 +1148,13 @@ class Mage_ImportExport_Model_Import_Entity_Product extends Mage_ImportExport_Mo
|
|
1105 |
$sku = $rowData[self::COL_SKU];
|
1106 |
}
|
1107 |
foreach ($this->_linkNameToId as $linkName => $linkId) {
|
1108 |
-
$productId = $this->_newSku[$sku]['entity_id'];
|
1109 |
-
$productIds[] = $productId;
|
1110 |
if (isset($rowData[$linkName . 'sku'])) {
|
1111 |
-
$
|
|
|
|
|
1112 |
|
1113 |
if ((isset($this->_newSku[$linkedSku]) || isset($this->_oldSku[$linkedSku]))
|
1114 |
-
|
1115 |
if (isset($this->_newSku[$linkedSku])) {
|
1116 |
$linkedId = $this->_newSku[$linkedSku]['entity_id'];
|
1117 |
} else {
|
@@ -1189,19 +1232,21 @@ class Mage_ImportExport_Model_Import_Entity_Product extends Mage_ImportExport_Mo
|
|
1189 |
);
|
1190 |
}
|
1191 |
|
1192 |
-
|
1193 |
-
|
1194 |
-
|
1195 |
-
|
1196 |
-
|
1197 |
-
|
1198 |
-
$this->_connection->quoteInto('
|
1199 |
-
|
1200 |
-
|
1201 |
-
|
1202 |
-
|
1203 |
-
$
|
1204 |
-
|
|
|
|
|
1205 |
}
|
1206 |
}
|
1207 |
$this->_connection->insertOnDuplicate($tableName, $tableData, array('value'));
|
@@ -1404,7 +1449,7 @@ class Mage_ImportExport_Model_Import_Entity_Product extends Mage_ImportExport_Mo
|
|
1404 |
if (!is_null($productType)) {
|
1405 |
$previousType = $productType;
|
1406 |
}
|
1407 |
-
if (!is_null($rowData[self::COL_ATTR_SET])) {
|
1408 |
$previousAttributeSet = $rowData[Mage_ImportExport_Model_Import_Entity_Product::COL_ATTR_SET];
|
1409 |
}
|
1410 |
if (self::SCOPE_NULL == $rowScope) {
|
@@ -1511,6 +1556,8 @@ class Mage_ImportExport_Model_Import_Entity_Product extends Mage_ImportExport_Mo
|
|
1511 |
// check website defaults already set
|
1512 |
if (!isset($attributes[$attrTable][$rowSku][$attrId][$rowStore])) {
|
1513 |
$storeIds = $this->_storeIdToWebsiteStoreIds[$rowStore];
|
|
|
|
|
1514 |
}
|
1515 |
} elseif (self::SCOPE_STORE == $attribute->getIsGlobal()) {
|
1516 |
$storeIds = array($rowStore);
|
@@ -2136,4 +2183,29 @@ class Mage_ImportExport_Model_Import_Entity_Product extends Mage_ImportExport_Mo
|
|
2136 |
}
|
2137 |
return $productIds;
|
2138 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2139 |
}
|
422 |
*/
|
423 |
protected $_fileUploader;
|
424 |
|
425 |
+
/**
|
426 |
+
* url_key attribute id
|
427 |
+
*
|
428 |
+
* @var int
|
429 |
+
*/
|
430 |
+
protected $_urlKeyAttributeId;
|
431 |
+
|
432 |
/**
|
433 |
* Constructor.
|
434 |
*
|
830 |
);
|
831 |
|
832 |
$alreadyUsedProductIds = array();
|
833 |
+
$lastStoreId = null;
|
834 |
+
$lastProductId = null;
|
835 |
+
$currentValueId = null;
|
836 |
while ($bunch = $this->_dataSourceModel->getNextBunch()) {
|
837 |
$customOptions = array(
|
838 |
'product_id' => array(),
|
843 |
$typeTitleTable => array(),
|
844 |
$typeValueTable => array()
|
845 |
);
|
846 |
+
$flagNewOption = true;
|
847 |
+
$firstKeyOption = null;
|
848 |
foreach ($bunch as $rowNum => $rowData) {
|
849 |
$this->_filterRowData($rowData);
|
850 |
if (!$this->isRowAllowedToImport($rowData, $rowNum)) {
|
855 |
} elseif (!isset($productId)) {
|
856 |
continue;
|
857 |
}
|
858 |
+
|
859 |
+
if ($lastProductId != $productId) {
|
860 |
+
$lastStoreId = Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID;
|
861 |
+
$currentValueId = null;
|
862 |
+
$lastProductId = $productId;
|
863 |
+
}
|
864 |
+
|
865 |
if (!empty($rowData['_custom_option_store'])) {
|
866 |
if (!isset($this->_storeCodeToId[$rowData['_custom_option_store']])) {
|
867 |
continue;
|
938 |
}
|
939 |
$prevOptionId = $nextOptionId++; // increment option id, but preserve value for $typeValueTable
|
940 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
941 |
|
942 |
+
if ($typeSpecific[$type] === true && !empty($rowData['_custom_option_row_title'])) {
|
943 |
+
if (empty($rowData['_custom_option_store'])) {
|
944 |
+
// complex CO option row
|
945 |
+
$customOptions[$typeValueTable][$prevOptionId][] = array(
|
946 |
+
'option_type_id' => $nextValueId,
|
947 |
+
'sort_order' => empty($rowData['_custom_option_row_sort'])
|
948 |
+
? 0 : abs($rowData['_custom_option_row_sort']),
|
949 |
+
'sku' => !empty($rowData['_custom_option_row_sku'])
|
950 |
+
? $rowData['_custom_option_row_sku'] : ''
|
951 |
);
|
952 |
+
if (!isset($customOptions[$typeTitleTable][$nextValueId][0])) { // ensure default title is set
|
953 |
+
$customOptions[$typeTitleTable][$nextValueId][0] = $rowData['_custom_option_row_title'];
|
954 |
}
|
955 |
+
$customOptions[$typeTitleTable][$nextValueId][$storeId] = $rowData['_custom_option_row_title'];
|
956 |
+
|
957 |
+
if (!empty($rowData['_custom_option_row_price'])) {
|
958 |
+
$typePriceRow = array(
|
959 |
+
'price' => (float) rtrim($rowData['_custom_option_row_price'], '%'),
|
960 |
+
'price_type' => 'fixed'
|
961 |
+
);
|
962 |
+
if ('%' == substr($rowData['_custom_option_row_price'], -1)) {
|
963 |
+
$typePriceRow['price_type'] = 'percent';
|
964 |
+
}
|
965 |
+
if ($priceIsGlobal) {
|
966 |
$customOptions[$typePriceTable][$nextValueId][0] = $typePriceRow;
|
967 |
+
} else {
|
968 |
+
// ensure default price is set
|
969 |
+
if (!isset($customOptions[$typePriceTable][$nextValueId][0])) {
|
970 |
+
$customOptions[$typePriceTable][$nextValueId][0] = $typePriceRow;
|
971 |
+
}
|
972 |
+
$customOptions[$typePriceTable][$nextValueId][$storeId] = $typePriceRow;
|
973 |
}
|
974 |
+
}
|
975 |
+
if ($flagNewOption) {
|
976 |
+
$firstKeyOption = $nextValueId;
|
977 |
+
$flagNewOption = false;
|
978 |
+
}
|
979 |
+
$nextValueId++;
|
980 |
+
} else {
|
981 |
+
$flagNewOption = true;
|
982 |
+
if ($lastStoreId != $storeId) {
|
983 |
+
if (!$firstKeyOption) {
|
984 |
+
reset($customOptions[$typeTitleTable]);
|
985 |
+
$firstKeyOption = key($customOptions[$typeTitleTable]);
|
986 |
+
}
|
987 |
+
$currentValueId = $firstKeyOption;
|
988 |
+
$lastStoreId = $storeId;
|
989 |
+
} else {
|
990 |
+
$currentValueId++;
|
991 |
+
}
|
992 |
+
|
993 |
+
$defaultValue = $customOptions[$typeTitleTable][$currentValueId][0];
|
994 |
+
if ($defaultValue != $rowData['_custom_option_row_title']) {
|
995 |
+
$customOptions[$typeTitleTable][$currentValueId][$storeId]
|
996 |
+
= $rowData['_custom_option_row_title'];
|
997 |
}
|
998 |
}
|
|
|
999 |
}
|
1000 |
+
|
1001 |
if (!empty($rowData['_custom_option_title'])) {
|
1002 |
if (!isset($customOptions[$titleTable][$prevOptionId][0])) { // ensure default title is set
|
1003 |
$customOptions[$titleTable][$prevOptionId][0] = $rowData['_custom_option_title'];
|
1148 |
$sku = $rowData[self::COL_SKU];
|
1149 |
}
|
1150 |
foreach ($this->_linkNameToId as $linkName => $linkId) {
|
|
|
|
|
1151 |
if (isset($rowData[$linkName . 'sku'])) {
|
1152 |
+
$productId = $this->_newSku[$sku]['entity_id'];
|
1153 |
+
$productIds[] = $productId;
|
1154 |
+
$linkedSku = $rowData[$linkName . 'sku'];
|
1155 |
|
1156 |
if ((isset($this->_newSku[$linkedSku]) || isset($this->_oldSku[$linkedSku]))
|
1157 |
+
&& $linkedSku != $sku) {
|
1158 |
if (isset($this->_newSku[$linkedSku])) {
|
1159 |
$linkedId = $this->_newSku[$linkedSku]['entity_id'];
|
1160 |
} else {
|
1232 |
);
|
1233 |
}
|
1234 |
|
1235 |
+
if ($attributeId == $this->_getUrlKeyAttributeId()) {
|
1236 |
+
/*
|
1237 |
+
If the store based values are not provided for a particular store,
|
1238 |
+
we default to the default scope values.
|
1239 |
+
In this case, remove all the existing store based values stored in the table.
|
1240 |
+
*/
|
1241 |
+
$where = $this->_connection->quoteInto('store_id NOT IN (?)', array_keys($storeValues)) .
|
1242 |
+
$this->_connection->quoteInto(' AND attribute_id = ?', $attributeId) .
|
1243 |
+
$this->_connection->quoteInto(' AND entity_id = ?', $productId) .
|
1244 |
+
$this->_connection->quoteInto(' AND entity_type_id = ?', $this->_entityTypeId);
|
1245 |
+
|
1246 |
+
$this->_connection->delete(
|
1247 |
+
$tableName, $where
|
1248 |
+
);
|
1249 |
+
}
|
1250 |
}
|
1251 |
}
|
1252 |
$this->_connection->insertOnDuplicate($tableName, $tableData, array('value'));
|
1449 |
if (!is_null($productType)) {
|
1450 |
$previousType = $productType;
|
1451 |
}
|
1452 |
+
if (isset($rowData[self::COL_ATTR_SET]) && !is_null($rowData[self::COL_ATTR_SET])) {
|
1453 |
$previousAttributeSet = $rowData[Mage_ImportExport_Model_Import_Entity_Product::COL_ATTR_SET];
|
1454 |
}
|
1455 |
if (self::SCOPE_NULL == $rowScope) {
|
1556 |
// check website defaults already set
|
1557 |
if (!isset($attributes[$attrTable][$rowSku][$attrId][$rowStore])) {
|
1558 |
$storeIds = $this->_storeIdToWebsiteStoreIds[$rowStore];
|
1559 |
+
} else {
|
1560 |
+
$storeIds = array($rowStore);
|
1561 |
}
|
1562 |
} elseif (self::SCOPE_STORE == $attribute->getIsGlobal()) {
|
1563 |
$storeIds = array($rowStore);
|
2183 |
}
|
2184 |
return $productIds;
|
2185 |
}
|
2186 |
+
|
2187 |
+
/**
|
2188 |
+
* Get product url_key attribute id
|
2189 |
+
*
|
2190 |
+
* @return null|int
|
2191 |
+
*/
|
2192 |
+
protected function _getUrlKeyAttributeId()
|
2193 |
+
{
|
2194 |
+
if ($this->_urlKeyAttributeId === null) {
|
2195 |
+
$adapter = $this->getConnection();
|
2196 |
+
$resource = $this->getResourceModel('eav/entity_attribute');
|
2197 |
+
|
2198 |
+
$select = $adapter->select()
|
2199 |
+
->from(
|
2200 |
+
$resource->getMainTable(),
|
2201 |
+
array('attribute_id')
|
2202 |
+
)
|
2203 |
+
->where('attribute_code = ?', 'url_key')
|
2204 |
+
->where('entity_type_id = ?', $this->_entityTypeId);
|
2205 |
+
|
2206 |
+
$this->_urlKeyAttributeId = $adapter->fetchOne($select);
|
2207 |
+
}
|
2208 |
+
|
2209 |
+
return $this->_urlKeyAttributeId;
|
2210 |
+
}
|
2211 |
}
|
app/code/core/Mage/ImportExport/Model/Import/Entity/Product/Type/Configurable.php
CHANGED
@@ -230,18 +230,34 @@ class Mage_ImportExport_Model_Import_Entity_Product_Type_Configurable
|
|
230 |
->getNode('global/catalog/product/type/configurable/allow_product_types')->children() as $type) {
|
231 |
$allowProductTypes[] = $type->getName();
|
232 |
}
|
233 |
-
|
|
|
234 |
->addFieldToFilter('type_id', $allowProductTypes)
|
235 |
-
->addAttributeToSelect(array_keys($this->_superAttributes))
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
245 |
}
|
246 |
}
|
247 |
}
|
230 |
->getNode('global/catalog/product/type/configurable/allow_product_types')->children() as $type) {
|
231 |
$allowProductTypes[] = $type->getName();
|
232 |
}
|
233 |
+
/** @var Mage_Catalog_Model_Resource_Product_Collection $collection */
|
234 |
+
$collection = Mage::getResourceModel('catalog/product_collection')
|
235 |
->addFieldToFilter('type_id', $allowProductTypes)
|
236 |
+
->addAttributeToSelect(array_keys($this->_superAttributes));
|
237 |
+
|
238 |
+
$collectionSize = $collection->getSize();
|
239 |
+
if ($collectionSize) {
|
240 |
+
$configPageSize = Mage::helper('importexport')->getImportConfigurablePageSize();
|
241 |
+
$pageSize = ($configPageSize > 0) ? $configPageSize : $collectionSize;
|
242 |
+
$page = 0;
|
243 |
+
$collection->setPageSize($pageSize);
|
244 |
+
while ($pageSize * $page < $collectionSize) {
|
245 |
+
$page++;
|
246 |
+
$collection->setCurPage($page);
|
247 |
+
|
248 |
+
foreach ($collection as $product) {
|
249 |
+
$attrSetName = $attrSetIdToName[$product->getAttributeSetId()];
|
250 |
+
|
251 |
+
$data = array_intersect_key(
|
252 |
+
$product->getData(),
|
253 |
+
$this->_superAttributes
|
254 |
+
);
|
255 |
+
foreach ($data as $attrCode => $value) {
|
256 |
+
$attrId = $this->_superAttributes[$attrCode]['id'];
|
257 |
+
$this->_skuSuperAttributeValues[$attrSetName][$product->getId()][$attrId] = $value;
|
258 |
+
}
|
259 |
+
}
|
260 |
+
$collection->clear();
|
261 |
}
|
262 |
}
|
263 |
}
|
app/code/core/Mage/ImportExport/Model/Import/Uploader.php
CHANGED
@@ -132,7 +132,7 @@ class Mage_ImportExport_Model_Import_Uploader extends Mage_Core_Model_File_Uploa
|
|
132 |
//run validate callbacks
|
133 |
foreach ($this->_validateCallbacks as $params) {
|
134 |
if (is_object($params['object']) && method_exists($params['object'], $params['method'])) {
|
135 |
-
$params['object']
|
136 |
}
|
137 |
}
|
138 |
}
|
132 |
//run validate callbacks
|
133 |
foreach ($this->_validateCallbacks as $params) {
|
134 |
if (is_object($params['object']) && method_exists($params['object'], $params['method'])) {
|
135 |
+
$params['object']->{$params['method']}($filePath);
|
136 |
}
|
137 |
}
|
138 |
}
|
app/code/core/Mage/ImportExport/controllers/Adminhtml/ExportController.php
CHANGED
@@ -81,9 +81,12 @@ class Mage_ImportExport_Adminhtml_ExportController extends Mage_Adminhtml_Contro
|
|
81 |
$model = Mage::getModel('importexport/export');
|
82 |
$model->setData($this->getRequest()->getParams());
|
83 |
|
|
|
|
|
|
|
84 |
return $this->_prepareDownloadResponse(
|
85 |
$model->getFileName(),
|
86 |
-
$
|
87 |
$model->getContentType()
|
88 |
);
|
89 |
} catch (Mage_Core_Exception $e) {
|
81 |
$model = Mage::getModel('importexport/export');
|
82 |
$model->setData($this->getRequest()->getParams());
|
83 |
|
84 |
+
$result = $model->exportFile();
|
85 |
+
$result['type'] = 'filename';
|
86 |
+
|
87 |
return $this->_prepareDownloadResponse(
|
88 |
$model->getFileName(),
|
89 |
+
$result,
|
90 |
$model->getContentType()
|
91 |
);
|
92 |
} catch (Mage_Core_Exception $e) {
|
app/code/core/Mage/ImportExport/etc/config.xml
CHANGED
@@ -139,6 +139,9 @@
|
|
139 |
<export_csv>
|
140 |
<escaping>1</escaping>
|
141 |
</export_csv>
|
|
|
|
|
|
|
142 |
</system>
|
143 |
<general>
|
144 |
<file>
|
139 |
<export_csv>
|
140 |
<escaping>1</escaping>
|
141 |
</export_csv>
|
142 |
+
<import_csv>
|
143 |
+
<configurable_page_size>1000</configurable_page_size>
|
144 |
+
</import_csv>
|
145 |
</system>
|
146 |
<general>
|
147 |
<file>
|
app/code/core/Mage/ImportExport/etc/system.xml
CHANGED
@@ -48,6 +48,25 @@
|
|
48 |
</escaping>
|
49 |
</fields>
|
50 |
</export_csv>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
</groups>
|
52 |
</system>
|
53 |
</sections>
|
48 |
</escaping>
|
49 |
</fields>
|
50 |
</export_csv>
|
51 |
+
<import_csv translate="label">
|
52 |
+
<label>Import CSV</label>
|
53 |
+
<show_in_default>1</show_in_default>
|
54 |
+
<show_in_website>1</show_in_website>
|
55 |
+
<show_in_store>1</show_in_store>
|
56 |
+
<sort_order>500</sort_order>
|
57 |
+
<fields>
|
58 |
+
<configurable_page_size translate="label,comment">
|
59 |
+
<label>Page size for import configurable products</label>
|
60 |
+
<frontend_type>text</frontend_type>
|
61 |
+
<validate>validate-number</validate>
|
62 |
+
<sort_order>1</sort_order>
|
63 |
+
<show_in_default>1</show_in_default>
|
64 |
+
<show_in_website>0</show_in_website>
|
65 |
+
<show_in_store>0</show_in_store>
|
66 |
+
<comment>This option will be ignore if it set less than 1.</comment>
|
67 |
+
</configurable_page_size>
|
68 |
+
</fields>
|
69 |
+
</import_csv>
|
70 |
</groups>
|
71 |
</system>
|
72 |
</sections>
|
app/code/core/Mage/Oauth/Model/Server.php
CHANGED
@@ -328,10 +328,10 @@ class Mage_Oauth_Model_Server
|
|
328 |
if (self::REQUEST_TOKEN == $this->_requestType) {
|
329 |
$this->_validateVerifierParam();
|
330 |
|
331 |
-
if ($this->_token->getVerifier()
|
332 |
$this->_throwException('', self::ERR_VERIFIER_INVALID);
|
333 |
}
|
334 |
-
if ($this->_token->getConsumerId()
|
335 |
$this->_throwException('', self::ERR_TOKEN_REJECTED);
|
336 |
}
|
337 |
if (Mage_Oauth_Model_Token::TYPE_REQUEST != $this->_token->getType()) {
|
@@ -544,7 +544,7 @@ class Mage_Oauth_Model_Server
|
|
544 |
$this->_request->getScheme() . '://' . $this->_request->getHttpHost() . $this->_request->getRequestUri()
|
545 |
);
|
546 |
|
547 |
-
if ($calculatedSign
|
548 |
$this->_throwException('', self::ERR_SIGNATURE_INVALID);
|
549 |
}
|
550 |
}
|
328 |
if (self::REQUEST_TOKEN == $this->_requestType) {
|
329 |
$this->_validateVerifierParam();
|
330 |
|
331 |
+
if (!hash_equals($this->_token->getVerifier(), $this->_protocolParams['oauth_verifier'])) {
|
332 |
$this->_throwException('', self::ERR_VERIFIER_INVALID);
|
333 |
}
|
334 |
+
if (!hash_equals($this->_token->getConsumerId(), $this->_consumer->getId())) {
|
335 |
$this->_throwException('', self::ERR_TOKEN_REJECTED);
|
336 |
}
|
337 |
if (Mage_Oauth_Model_Token::TYPE_REQUEST != $this->_token->getType()) {
|
544 |
$this->_request->getScheme() . '://' . $this->_request->getHttpHost() . $this->_request->getRequestUri()
|
545 |
);
|
546 |
|
547 |
+
if (!hash_equals($calculatedSign, $this->_protocolParams['oauth_signature'])) {
|
548 |
$this->_throwException('', self::ERR_SIGNATURE_INVALID);
|
549 |
}
|
550 |
}
|
app/code/core/Mage/Paygate/Model/Authorizenet.php
CHANGED
@@ -1273,8 +1273,10 @@ class Mage_Paygate_Model_Authorizenet extends Mage_Payment_Model_Method_Cc
|
|
1273 |
$uri = $this->getConfigData('cgi_url');
|
1274 |
$client->setUri($uri ? $uri : self::CGI_URL);
|
1275 |
$client->setConfig(array(
|
1276 |
-
'maxredirects'=>0,
|
1277 |
-
'timeout'=>30,
|
|
|
|
|
1278 |
//'ssltransport' => 'tcp',
|
1279 |
));
|
1280 |
foreach ($request->getData() as $key => $value) {
|
@@ -1543,7 +1545,11 @@ class Mage_Paygate_Model_Authorizenet extends Mage_Payment_Model_Method_Cc
|
|
1543 |
$uri = $this->getConfigData('cgi_url_td');
|
1544 |
$uri = $uri ? $uri : self::CGI_URL_TD;
|
1545 |
$client->setUri($uri);
|
1546 |
-
$client->setConfig(array(
|
|
|
|
|
|
|
|
|
1547 |
$client->setHeaders(array('Content-Type: text/xml'));
|
1548 |
$client->setMethod(Zend_Http_Client::POST);
|
1549 |
$client->setRawData($requestBody);
|
1273 |
$uri = $this->getConfigData('cgi_url');
|
1274 |
$client->setUri($uri ? $uri : self::CGI_URL);
|
1275 |
$client->setConfig(array(
|
1276 |
+
'maxredirects' => 0,
|
1277 |
+
'timeout' => 30,
|
1278 |
+
'verifyhost' => 2,
|
1279 |
+
'verifypeer' => true,
|
1280 |
//'ssltransport' => 'tcp',
|
1281 |
));
|
1282 |
foreach ($request->getData() as $key => $value) {
|
1545 |
$uri = $this->getConfigData('cgi_url_td');
|
1546 |
$uri = $uri ? $uri : self::CGI_URL_TD;
|
1547 |
$client->setUri($uri);
|
1548 |
+
$client->setConfig(array(
|
1549 |
+
'timeout' => 45,
|
1550 |
+
'verifyhost' => 2,
|
1551 |
+
'verifypeer' => true,
|
1552 |
+
));
|
1553 |
$client->setHeaders(array('Content-Type: text/xml'));
|
1554 |
$client->setMethod(Zend_Http_Client::POST);
|
1555 |
$client->setRawData($requestBody);
|
app/code/core/Mage/Payment/Block/Info/Checkmo.php
CHANGED
@@ -70,7 +70,13 @@ class Mage_Payment_Block_Info_Checkmo extends Mage_Payment_Block_Info
|
|
70 |
*/
|
71 |
protected function _convertAdditionalData()
|
72 |
{
|
73 |
-
$details =
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
if (is_array($details)) {
|
75 |
$this->_payableTo = isset($details['payable_to']) ? (string) $details['payable_to'] : '';
|
76 |
$this->_mailingAddress = isset($details['mailing_address']) ? (string) $details['mailing_address'] : '';
|
@@ -80,7 +86,7 @@ class Mage_Payment_Block_Info_Checkmo extends Mage_Payment_Block_Info
|
|
80 |
}
|
81 |
return $this;
|
82 |
}
|
83 |
-
|
84 |
public function toPdf()
|
85 |
{
|
86 |
$this->setTemplate('payment/info/pdf/checkmo.phtml');
|
70 |
*/
|
71 |
protected function _convertAdditionalData()
|
72 |
{
|
73 |
+
$details = false;
|
74 |
+
try {
|
75 |
+
$details = Mage::helper('core/unserializeArray')
|
76 |
+
->unserialize($this->getInfo()->getAdditionalData());
|
77 |
+
} catch (Exception $e) {
|
78 |
+
Mage::logException($e);
|
79 |
+
}
|
80 |
if (is_array($details)) {
|
81 |
$this->_payableTo = isset($details['payable_to']) ? (string) $details['payable_to'] : '';
|
82 |
$this->_mailingAddress = isset($details['mailing_address']) ? (string) $details['mailing_address'] : '';
|
86 |
}
|
87 |
return $this;
|
88 |
}
|
89 |
+
|
90 |
public function toPdf()
|
91 |
{
|
92 |
$this->setTemplate('payment/info/pdf/checkmo.phtml');
|
app/code/core/Mage/Payment/Model/Method/Cc.php
CHANGED
@@ -122,7 +122,7 @@ class Mage_Payment_Model_Method_Cc extends Mage_Payment_Model_Method_Abstract
|
|
122 |
// Visa
|
123 |
'VI' => '/^4[0-9]{12}([0-9]{3})?$/',
|
124 |
// Master Card
|
125 |
-
'MC' => '/^5[1-5][0-9]{14}$/',
|
126 |
// American Express
|
127 |
'AE' => '/^3[47][0-9]{13}$/',
|
128 |
// Discover Network
|
122 |
// Visa
|
123 |
'VI' => '/^4[0-9]{12}([0-9]{3})?$/',
|
124 |
// Master Card
|
125 |
+
'MC' => '/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/',
|
126 |
// American Express
|
127 |
'AE' => '/^3[47][0-9]{13}$/',
|
128 |
// Discover Network
|
app/code/core/Mage/Paypal/Model/Api/Nvp.php
CHANGED
@@ -520,7 +520,8 @@ class Mage_Paypal_Model_Api_Nvp extends Mage_Paypal_Model_Api_Abstract
|
|
520 |
* @var array
|
521 |
*/
|
522 |
protected $_requiredResponseParams = array(
|
523 |
-
self::DO_DIRECT_PAYMENT
|
|
|
524 |
);
|
525 |
|
526 |
/**
|
520 |
* @var array
|
521 |
*/
|
522 |
protected $_requiredResponseParams = array(
|
523 |
+
self::DO_DIRECT_PAYMENT => array('ACK', 'CORRELATIONID', 'AMT'),
|
524 |
+
self::DO_EXPRESS_CHECKOUT_PAYMENT => array('ACK', 'CORRELATIONID', 'AMT'),
|
525 |
);
|
526 |
|
527 |
/**
|
app/code/core/Mage/Paypal/Model/Express/Checkout.php
CHANGED
@@ -947,7 +947,7 @@ class Mage_Paypal_Model_Express_Checkout
|
|
947 |
$shipping = $quote->isVirtual() ? null : $quote->getShippingAddress();
|
948 |
|
949 |
$customerId = $this->_lookupCustomerId();
|
950 |
-
if ($customerId) {
|
951 |
$this->getCustomerSession()->loginById($customerId);
|
952 |
return $this->_prepareCustomerQuote();
|
953 |
}
|
@@ -1063,4 +1063,26 @@ class Mage_Paypal_Model_Express_Checkout
|
|
1063 |
{
|
1064 |
return $this->_customerSession;
|
1065 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1066 |
}
|
947 |
$shipping = $quote->isVirtual() ? null : $quote->getShippingAddress();
|
948 |
|
949 |
$customerId = $this->_lookupCustomerId();
|
950 |
+
if ($customerId && !$this->_customerEmailExists($quote->getCustomerEmail())) {
|
951 |
$this->getCustomerSession()->loginById($customerId);
|
952 |
return $this->_prepareCustomerQuote();
|
953 |
}
|
1063 |
{
|
1064 |
return $this->_customerSession;
|
1065 |
}
|
1066 |
+
|
1067 |
+
/**
|
1068 |
+
* Check if customer email exists
|
1069 |
+
*
|
1070 |
+
* @param string $email
|
1071 |
+
* @return bool
|
1072 |
+
*/
|
1073 |
+
protected function _customerEmailExists($email)
|
1074 |
+
{
|
1075 |
+
$result = false;
|
1076 |
+
$customer = Mage::getModel('customer/customer');
|
1077 |
+
$websiteId = Mage::app()->getStore()->getWebsiteId();
|
1078 |
+
if (!is_null($websiteId)) {
|
1079 |
+
$customer->setWebsiteId($websiteId);
|
1080 |
+
}
|
1081 |
+
$customer->loadByEmail($email);
|
1082 |
+
if (!is_null($customer->getId())) {
|
1083 |
+
$result = true;
|
1084 |
+
}
|
1085 |
+
|
1086 |
+
return $result;
|
1087 |
+
}
|
1088 |
}
|
app/code/core/Mage/Paypal/Model/Resource/Payment/Transaction.php
CHANGED
@@ -52,6 +52,26 @@ class Mage_Paypal_Model_Resource_Payment_Transaction extends Mage_Core_Model_Res
|
|
52 |
$this->_init('paypal/payment_transaction', 'transaction_id');
|
53 |
}
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
/**
|
56 |
* Load the transaction object by specified txn_id
|
57 |
*
|
52 |
$this->_init('paypal/payment_transaction', 'transaction_id');
|
53 |
}
|
54 |
|
55 |
+
/**
|
56 |
+
* @see Mage_Core_Model_Resource_Abstract::_unserializeField()
|
57 |
+
*/
|
58 |
+
protected function _unserializeField(Varien_Object $object, $field, $defaultValue = null)
|
59 |
+
{
|
60 |
+
$value = $object->getData($field);
|
61 |
+
if (empty($value)) {
|
62 |
+
$object->setData($field, $defaultValue);
|
63 |
+
} elseif (!is_array($value) && !is_object($value)) {
|
64 |
+
$unserializedValue = false;
|
65 |
+
try {
|
66 |
+
$unserializedValue = Mage::helper('core/unserializeArray')
|
67 |
+
->unserialize($value);
|
68 |
+
} catch (Exception $e) {
|
69 |
+
Mage::logException($e);
|
70 |
+
}
|
71 |
+
$object->setData($field, $unserializedValue);
|
72 |
+
}
|
73 |
+
}
|
74 |
+
|
75 |
/**
|
76 |
* Load the transaction object by specified txn_id
|
77 |
*
|
app/code/core/Mage/Persistent/Model/Persistent/Config.php
CHANGED
@@ -71,7 +71,9 @@ class Mage_Persistent_Model_Persistent_Config
|
|
71 |
if (is_null($this->_xmlConfig)) {
|
72 |
$filePath = $this->_configFilePath;
|
73 |
if (!is_file($filePath) || !is_readable($filePath)) {
|
74 |
-
|
|
|
|
|
75 |
}
|
76 |
$xml = file_get_contents($filePath);
|
77 |
$this->_xmlConfig = new Varien_Simplexml_Element($xml);
|
71 |
if (is_null($this->_xmlConfig)) {
|
72 |
$filePath = $this->_configFilePath;
|
73 |
if (!is_file($filePath) || !is_readable($filePath)) {
|
74 |
+
$io = new Varien_Io_File();
|
75 |
+
Mage::throwException(Mage::helper('persistent')->__('Cannot load configuration from file %s.',
|
76 |
+
$io->getFilteredPath($filePath)));
|
77 |
}
|
78 |
$xml = file_get_contents($filePath);
|
79 |
$this->_xmlConfig = new Varien_Simplexml_Element($xml);
|
app/code/core/Mage/Reports/Model/Product/Index/Abstract.php
CHANGED
@@ -65,7 +65,16 @@ abstract class Mage_Reports_Model_Product_Index_Abstract extends Mage_Core_Model
|
|
65 |
// Thanks to new performance tweaks it is possible to switch off visitor logging
|
66 |
// This check is needed to make sure report record has either visitor id or customer id
|
67 |
if ($this->hasVisitorId() || $this->hasCustomerId()) {
|
68 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
}
|
70 |
|
71 |
return $this;
|
@@ -223,7 +232,16 @@ abstract class Mage_Reports_Model_Product_Index_Abstract extends Mage_Core_Model
|
|
223 |
*/
|
224 |
public function registerIds($productIds)
|
225 |
{
|
226 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
$this->_getSession()->unsData($this->_countCacheKey);
|
228 |
return $this;
|
229 |
}
|
65 |
// Thanks to new performance tweaks it is possible to switch off visitor logging
|
66 |
// This check is needed to make sure report record has either visitor id or customer id
|
67 |
if ($this->hasVisitorId() || $this->hasCustomerId()) {
|
68 |
+
try {
|
69 |
+
parent::save();
|
70 |
+
} catch (Exception $exception) {
|
71 |
+
if ($this->hasCustomerId()) {
|
72 |
+
$this->updateCustomerFromVisitor();
|
73 |
+
parent::save();
|
74 |
+
} else {
|
75 |
+
Mage::logException($exception);
|
76 |
+
}
|
77 |
+
}
|
78 |
}
|
79 |
|
80 |
return $this;
|
232 |
*/
|
233 |
public function registerIds($productIds)
|
234 |
{
|
235 |
+
try {
|
236 |
+
$this->_getResource()->registerIds($this, $productIds);
|
237 |
+
} catch (Exception $exception) {
|
238 |
+
if ($this->hasCustomerId()) {
|
239 |
+
$this->updateCustomerFromVisitor();
|
240 |
+
$this->_getResource()->registerIds($this, $productIds);
|
241 |
+
} else {
|
242 |
+
Mage::logException($exception);
|
243 |
+
}
|
244 |
+
}
|
245 |
$this->_getSession()->unsData($this->_countCacheKey);
|
246 |
return $this;
|
247 |
}
|
app/code/core/Mage/Reports/Model/Resource/Helper/Mysql4.php
CHANGED
@@ -77,22 +77,44 @@ class Mage_Reports_Model_Resource_Helper_Mysql4 extends Mage_Core_Model_Resource
|
|
77 |
}
|
78 |
|
79 |
$columns = array(
|
80 |
-
'period'
|
81 |
-
'store_id'
|
82 |
-
'product_id'
|
83 |
-
'product_name'
|
84 |
-
'product_price'
|
85 |
);
|
86 |
|
87 |
if ($type == 'day') {
|
88 |
$columns['id'] = 't.id'; // to speed-up insert on duplicate key update
|
89 |
}
|
90 |
|
|
|
|
|
|
|
|
|
|
|
91 |
$cols = array_keys($columns);
|
92 |
$cols['total_qty'] = new Zend_Db_Expr('SUM(t.' . $column . ')');
|
|
|
93 |
$periodSubSelect->from(array('t' => $mainTable), $cols)
|
94 |
-
->group(array('t.store_id', $periodCol, 't.product_id'))
|
95 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
|
97 |
$cols = $columns;
|
98 |
$cols[$column] = 't.total_qty';
|
77 |
}
|
78 |
|
79 |
$columns = array(
|
80 |
+
'period' => 't.period',
|
81 |
+
'store_id' => 't.store_id',
|
82 |
+
'product_id' => 't.product_id',
|
83 |
+
'product_name' => 't.product_name',
|
84 |
+
'product_price' => 't.product_price',
|
85 |
);
|
86 |
|
87 |
if ($type == 'day') {
|
88 |
$columns['id'] = 't.id'; // to speed-up insert on duplicate key update
|
89 |
}
|
90 |
|
91 |
+
if ($column == 'qty_ordered')
|
92 |
+
{
|
93 |
+
$columns['product_type_id'] = 't.product_type_id';
|
94 |
+
}
|
95 |
+
|
96 |
$cols = array_keys($columns);
|
97 |
$cols['total_qty'] = new Zend_Db_Expr('SUM(t.' . $column . ')');
|
98 |
+
|
99 |
$periodSubSelect->from(array('t' => $mainTable), $cols)
|
100 |
+
->group(array('t.store_id', $periodCol, 't.product_id'));
|
101 |
+
|
102 |
+
if ($column == 'qty_ordered') {
|
103 |
+
$productTypesInExpr = $adapter->quoteInto(
|
104 |
+
't.product_type_id IN (?)',
|
105 |
+
Mage_Catalog_Model_Product_Type::getCompositeTypes()
|
106 |
+
);
|
107 |
+
$periodSubSelect->order(
|
108 |
+
array(
|
109 |
+
't.store_id',
|
110 |
+
$periodCol,
|
111 |
+
$adapter->getCheckSql($productTypesInExpr, 1, 0),
|
112 |
+
'total_qty DESC'
|
113 |
+
)
|
114 |
+
);
|
115 |
+
} else {
|
116 |
+
$periodSubSelect->order(array('t.store_id', $periodCol, 'total_qty DESC'));
|
117 |
+
}
|
118 |
|
119 |
$cols = $columns;
|
120 |
$cols[$column] = 't.total_qty';
|
app/code/core/Mage/Rss/Controller/Abstract.php
ADDED
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Rss
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Rss abstract controller
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Rss
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
class Mage_Rss_Controller_Abstract extends Mage_Core_Controller_Front_Action
|
35 |
+
{
|
36 |
+
/**
|
37 |
+
* Check feed enabled in config
|
38 |
+
*
|
39 |
+
* @param string $code
|
40 |
+
* @return boolean
|
41 |
+
*/
|
42 |
+
protected function isFeedEnable($code)
|
43 |
+
{
|
44 |
+
return $this->_getHelper('rss')->isRssEnabled()
|
45 |
+
&& Mage::getStoreConfig('rss/'. $code);
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Do check feed enabled and prepare response
|
50 |
+
*
|
51 |
+
* @param string $code
|
52 |
+
* @return boolean
|
53 |
+
*/
|
54 |
+
protected function checkFeedEnable($code)
|
55 |
+
{
|
56 |
+
if ($this->isFeedEnable($code)) {
|
57 |
+
$this->getResponse()->setHeader('Content-type', 'text/xml; charset=UTF-8');
|
58 |
+
return true;
|
59 |
+
} else {
|
60 |
+
$this->getResponse()->setHeader('HTTP/1.1', '404 Not Found');
|
61 |
+
$this->getResponse()->setHeader('Status', '404 File not found');
|
62 |
+
$this->_forward('nofeed', 'index', 'rss');
|
63 |
+
return false;
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Retrieve helper instance
|
69 |
+
*
|
70 |
+
* @param string $name
|
71 |
+
* @return Mage_Core_Helper_Abstract
|
72 |
+
*/
|
73 |
+
protected function _getHelper($name)
|
74 |
+
{
|
75 |
+
return Mage::helper($name);
|
76 |
+
}
|
77 |
+
}
|
app/code/core/Mage/Rss/controllers/CatalogController.php
CHANGED
@@ -32,55 +32,41 @@
|
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
|
35 |
-
class Mage_Rss_CatalogController extends
|
36 |
{
|
37 |
-
protected function isFeedEnable($code)
|
38 |
-
{
|
39 |
-
return Mage::getStoreConfig('rss/catalog/'.$code);
|
40 |
-
}
|
41 |
-
|
42 |
-
protected function checkFeedEnable($code)
|
43 |
-
{
|
44 |
-
if ($this->isFeedEnable($code)) {
|
45 |
-
$this->getResponse()->setHeader('Content-type', 'text/xml; charset=UTF-8');
|
46 |
-
return true;
|
47 |
-
} else {
|
48 |
-
$this->getResponse()->setHeader('HTTP/1.1','404 Not Found');
|
49 |
-
$this->getResponse()->setHeader('Status','404 File not found');
|
50 |
-
$this->_forward('nofeed','index','rss');
|
51 |
-
return false;
|
52 |
-
}
|
53 |
-
}
|
54 |
-
|
55 |
public function newAction()
|
56 |
{
|
57 |
-
$this->checkFeedEnable('new')
|
58 |
-
|
59 |
-
|
|
|
60 |
}
|
61 |
|
62 |
public function specialAction()
|
63 |
{
|
64 |
-
$this->checkFeedEnable('special')
|
65 |
-
|
66 |
-
|
|
|
67 |
}
|
68 |
|
69 |
public function salesruleAction()
|
70 |
{
|
71 |
-
$this->checkFeedEnable('salesrule')
|
72 |
-
|
73 |
-
|
|
|
74 |
}
|
75 |
|
76 |
public function tagAction()
|
77 |
{
|
78 |
-
if ($this->
|
79 |
$tagName = urldecode($this->getRequest()->getParam('tagName'));
|
80 |
$tagModel = Mage::getModel('tag/tag');
|
81 |
$tagModel->loadByName($tagName);
|
82 |
if ($tagModel->getId() && $tagModel->getStatus()==$tagModel->getApprovedStatus()) {
|
83 |
Mage::register('tag_model', $tagModel);
|
|
|
84 |
$this->loadLayout(false);
|
85 |
$this->renderLayout();
|
86 |
return;
|
@@ -91,21 +77,23 @@ class Mage_Rss_CatalogController extends Mage_Core_Controller_Front_Action
|
|
91 |
|
92 |
public function notifystockAction()
|
93 |
{
|
94 |
-
$this->
|
95 |
-
|
96 |
-
|
|
|
97 |
}
|
98 |
|
99 |
public function reviewAction()
|
100 |
{
|
101 |
-
$this->
|
102 |
-
|
103 |
-
|
|
|
104 |
}
|
105 |
|
106 |
public function categoryAction()
|
107 |
{
|
108 |
-
if ($this->checkFeedEnable('category')) {
|
109 |
$this->loadLayout(false);
|
110 |
$this->renderLayout();
|
111 |
}
|
@@ -119,11 +107,11 @@ class Mage_Rss_CatalogController extends Mage_Core_Controller_Front_Action
|
|
119 |
public function preDispatch()
|
120 |
{
|
121 |
$action = strtolower($this->getRequest()->getActionName());
|
122 |
-
if ($action == 'notifystock') {
|
123 |
$this->_currentArea = 'adminhtml';
|
124 |
Mage::helper('rss')->authAdmin('catalog/products');
|
125 |
}
|
126 |
-
if ($action == 'review') {
|
127 |
$this->_currentArea = 'adminhtml';
|
128 |
Mage::helper('rss')->authAdmin('catalog/reviews_ratings');
|
129 |
}
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
|
35 |
+
class Mage_Rss_CatalogController extends Mage_Rss_Controller_Abstract
|
36 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
public function newAction()
|
38 |
{
|
39 |
+
if ($this->checkFeedEnable('catalog/new')) {
|
40 |
+
$this->loadLayout(false);
|
41 |
+
$this->renderLayout();
|
42 |
+
}
|
43 |
}
|
44 |
|
45 |
public function specialAction()
|
46 |
{
|
47 |
+
if ($this->checkFeedEnable('catalog/special')) {
|
48 |
+
$this->loadLayout(false);
|
49 |
+
$this->renderLayout();
|
50 |
+
}
|
51 |
}
|
52 |
|
53 |
public function salesruleAction()
|
54 |
{
|
55 |
+
if ($this->checkFeedEnable('catalog/salesrule')) {
|
56 |
+
$this->loadLayout(false);
|
57 |
+
$this->renderLayout();
|
58 |
+
}
|
59 |
}
|
60 |
|
61 |
public function tagAction()
|
62 |
{
|
63 |
+
if ($this->isFeedEnable('catalog/tag')) {
|
64 |
$tagName = urldecode($this->getRequest()->getParam('tagName'));
|
65 |
$tagModel = Mage::getModel('tag/tag');
|
66 |
$tagModel->loadByName($tagName);
|
67 |
if ($tagModel->getId() && $tagModel->getStatus()==$tagModel->getApprovedStatus()) {
|
68 |
Mage::register('tag_model', $tagModel);
|
69 |
+
$this->getResponse()->setHeader('Content-type', 'text/xml; charset=UTF-8');
|
70 |
$this->loadLayout(false);
|
71 |
$this->renderLayout();
|
72 |
return;
|
77 |
|
78 |
public function notifystockAction()
|
79 |
{
|
80 |
+
if ($this->checkFeedEnable('catalog/notifystock')) {
|
81 |
+
$this->loadLayout(false);
|
82 |
+
$this->renderLayout();
|
83 |
+
}
|
84 |
}
|
85 |
|
86 |
public function reviewAction()
|
87 |
{
|
88 |
+
if ($this->checkFeedEnable('catalog/review')) {
|
89 |
+
$this->loadLayout(false);
|
90 |
+
$this->renderLayout();
|
91 |
+
}
|
92 |
}
|
93 |
|
94 |
public function categoryAction()
|
95 |
{
|
96 |
+
if ($this->checkFeedEnable('catalog/category')) {
|
97 |
$this->loadLayout(false);
|
98 |
$this->renderLayout();
|
99 |
}
|
107 |
public function preDispatch()
|
108 |
{
|
109 |
$action = strtolower($this->getRequest()->getActionName());
|
110 |
+
if ($action == 'notifystock' && $this->isFeedEnable('catalog/notifystock')) {
|
111 |
$this->_currentArea = 'adminhtml';
|
112 |
Mage::helper('rss')->authAdmin('catalog/products');
|
113 |
}
|
114 |
+
if ($action == 'review' && $this->isFeedEnable('catalog/review')) {
|
115 |
$this->_currentArea = 'adminhtml';
|
116 |
Mage::helper('rss')->authAdmin('catalog/reviews_ratings');
|
117 |
}
|
app/code/core/Mage/Rss/controllers/IndexController.php
CHANGED
@@ -30,7 +30,7 @@
|
|
30 |
* @file IndexController.php
|
31 |
* @author Magento Core Team <core@magentocommerce.com>
|
32 |
*/
|
33 |
-
class Mage_Rss_IndexController extends
|
34 |
{
|
35 |
/**
|
36 |
* Current wishlist
|
@@ -80,9 +80,7 @@ class Mage_Rss_IndexController extends Mage_Core_Controller_Front_Action
|
|
80 |
*/
|
81 |
public function wishlistAction()
|
82 |
{
|
83 |
-
if (
|
84 |
-
$this->getResponse()->setHeader('HTTP/1.1','404 Not Found');
|
85 |
-
$this->getResponse()->setHeader('Status','404 File not found');
|
86 |
$this->_forward('nofeed','index','rss');
|
87 |
return;
|
88 |
}
|
@@ -156,15 +154,4 @@ class Mage_Rss_IndexController extends Mage_Core_Controller_Front_Action
|
|
156 |
|
157 |
return $this->_customer;
|
158 |
}
|
159 |
-
|
160 |
-
/**
|
161 |
-
* Retrieve helper instance
|
162 |
-
*
|
163 |
-
* @param string $name
|
164 |
-
* @return Mage_Core_Helper_Abstract
|
165 |
-
*/
|
166 |
-
protected function _getHelper($name)
|
167 |
-
{
|
168 |
-
return Mage::helper($name);
|
169 |
-
}
|
170 |
}
|
30 |
* @file IndexController.php
|
31 |
* @author Magento Core Team <core@magentocommerce.com>
|
32 |
*/
|
33 |
+
class Mage_Rss_IndexController extends Mage_Rss_Controller_Abstract
|
34 |
{
|
35 |
/**
|
36 |
* Current wishlist
|
80 |
*/
|
81 |
public function wishlistAction()
|
82 |
{
|
83 |
+
if (!$this->isFeedEnable('wishlist/active')) {
|
|
|
|
|
84 |
$this->_forward('nofeed','index','rss');
|
85 |
return;
|
86 |
}
|
154 |
|
155 |
return $this->_customer;
|
156 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
}
|
app/code/core/Mage/Rss/controllers/OrderController.php
CHANGED
@@ -32,23 +32,25 @@
|
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
|
35 |
-
class Mage_Rss_OrderController extends
|
36 |
{
|
37 |
public function newAction()
|
38 |
{
|
39 |
-
$this->
|
40 |
-
|
41 |
-
|
|
|
42 |
}
|
43 |
|
44 |
public function customerAction()
|
45 |
{
|
46 |
-
if (
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
|
|
52 |
}
|
53 |
}
|
54 |
|
@@ -57,13 +59,15 @@ class Mage_Rss_OrderController extends Mage_Core_Controller_Front_Action
|
|
57 |
*/
|
58 |
public function statusAction()
|
59 |
{
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
|
|
|
|
67 |
}
|
68 |
$this->_forward('nofeed', 'index', 'rss');
|
69 |
}
|
@@ -76,7 +80,7 @@ class Mage_Rss_OrderController extends Mage_Core_Controller_Front_Action
|
|
76 |
public function preDispatch()
|
77 |
{
|
78 |
$action = strtolower($this->getRequest()->getActionName());
|
79 |
-
if ($action == 'new') {
|
80 |
$this->_currentArea = 'adminhtml';
|
81 |
Mage::helper('rss')->authAdmin('sales/order');
|
82 |
}
|
32 |
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
|
35 |
+
class Mage_Rss_OrderController extends Mage_Rss_Controller_Abstract
|
36 |
{
|
37 |
public function newAction()
|
38 |
{
|
39 |
+
if ($this->checkFeedEnable('order/new')) {
|
40 |
+
$this->loadLayout(false);
|
41 |
+
$this->renderLayout();
|
42 |
+
}
|
43 |
}
|
44 |
|
45 |
public function customerAction()
|
46 |
{
|
47 |
+
if ($this->checkFeedEnable('order/customer')) {
|
48 |
+
if (Mage::app()->getStore()->isCurrentlySecure()) {
|
49 |
+
Mage::helper('rss')->authFrontend();
|
50 |
+
} else {
|
51 |
+
$this->_redirect('rss/order/customer', array('_secure'=>true));
|
52 |
+
return $this;
|
53 |
+
}
|
54 |
}
|
55 |
}
|
56 |
|
59 |
*/
|
60 |
public function statusAction()
|
61 |
{
|
62 |
+
if ($this->isFeedEnable('order/status_notified')) {
|
63 |
+
$order = Mage::helper('rss/order')->getOrderByStatusUrlKey((string)$this->getRequest()->getParam('data'));
|
64 |
+
if (!is_null($order)) {
|
65 |
+
Mage::register('current_order', $order);
|
66 |
+
$this->getResponse()->setHeader('Content-type', 'text/xml; charset=UTF-8');
|
67 |
+
$this->loadLayout(false);
|
68 |
+
$this->renderLayout();
|
69 |
+
return;
|
70 |
+
}
|
71 |
}
|
72 |
$this->_forward('nofeed', 'index', 'rss');
|
73 |
}
|
80 |
public function preDispatch()
|
81 |
{
|
82 |
$action = strtolower($this->getRequest()->getActionName());
|
83 |
+
if ($action == 'new' && $this->isFeedEnable('order/new')) {
|
84 |
$this->_currentArea = 'adminhtml';
|
85 |
Mage::helper('rss')->authAdmin('sales/order');
|
86 |
}
|
app/code/core/Mage/Rss/data/rss_setup/data-install-1.6.0.0.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Rss
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
|
28 |
+
/* @var $installer Mage_Core_Model_Resource_Setup */
|
29 |
+
|
30 |
+
$installer = $this;
|
31 |
+
|
32 |
+
$this->deleteConfigData(Mage_Rss_Helper_Data::XML_PATH_RSS_ACTIVE);
|
33 |
+
|
34 |
+
$installer->endSetup();
|
app/code/core/Mage/Rss/etc/config.xml
CHANGED
@@ -47,10 +47,14 @@
|
|
47 |
<class>Mage_Rss_Block</class>
|
48 |
</rss>
|
49 |
</blocks>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
</global>
|
51 |
-
<admin>
|
52 |
-
|
53 |
-
</admin>
|
54 |
<adminhtml>
|
55 |
<translate>
|
56 |
<modules>
|
47 |
<class>Mage_Rss_Block</class>
|
48 |
</rss>
|
49 |
</blocks>
|
50 |
+
<resources>
|
51 |
+
<rss_setup>
|
52 |
+
<setup>
|
53 |
+
<module>Mage_Rss</module>
|
54 |
+
</setup>
|
55 |
+
</rss_setup>
|
56 |
+
</resources>
|
57 |
</global>
|
|
|
|
|
|
|
58 |
<adminhtml>
|
59 |
<translate>
|
60 |
<modules>
|
app/code/core/Mage/Rss/etc/system.xml
CHANGED
@@ -56,7 +56,6 @@
|
|
56 |
</active>
|
57 |
</fields>
|
58 |
</config>
|
59 |
-
|
60 |
<wishlist translate="label">
|
61 |
<label>Wishlist</label>
|
62 |
<frontend_type>text</frontend_type>
|
@@ -76,7 +75,6 @@
|
|
76 |
</active>
|
77 |
</fields>
|
78 |
</wishlist>
|
79 |
-
|
80 |
<catalog translate="label">
|
81 |
<label>Catalog</label>
|
82 |
<frontend_type>text</frontend_type>
|
@@ -130,10 +128,27 @@
|
|
130 |
<show_in_website>1</show_in_website>
|
131 |
<show_in_store>1</show_in_store>
|
132 |
</category>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
</fields>
|
134 |
</catalog>
|
135 |
-
|
136 |
-
<order>
|
137 |
<label>Order</label>
|
138 |
<frontend_type>text</frontend_type>
|
139 |
<sort_order>4</sort_order>
|
@@ -150,9 +165,73 @@
|
|
150 |
<show_in_website>1</show_in_website>
|
151 |
<show_in_store>1</show_in_store>
|
152 |
</status_notified>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
</fields>
|
154 |
</order>
|
155 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
</groups>
|
157 |
</rss>
|
158 |
</sections>
|
56 |
</active>
|
57 |
</fields>
|
58 |
</config>
|
|
|
59 |
<wishlist translate="label">
|
60 |
<label>Wishlist</label>
|
61 |
<frontend_type>text</frontend_type>
|
75 |
</active>
|
76 |
</fields>
|
77 |
</wishlist>
|
|
|
78 |
<catalog translate="label">
|
79 |
<label>Catalog</label>
|
80 |
<frontend_type>text</frontend_type>
|
128 |
<show_in_website>1</show_in_website>
|
129 |
<show_in_store>1</show_in_store>
|
130 |
</category>
|
131 |
+
<notifystock translate="label">
|
132 |
+
<label>Stock Notification</label>
|
133 |
+
<frontend_type>select</frontend_type>
|
134 |
+
<source_model>adminhtml/system_config_source_enabledisable</source_model>
|
135 |
+
<sort_order>15</sort_order>
|
136 |
+
<show_in_default>1</show_in_default>
|
137 |
+
<show_in_website>1</show_in_website>
|
138 |
+
<show_in_store>1</show_in_store>
|
139 |
+
</notifystock>
|
140 |
+
<review translate="label">
|
141 |
+
<label>Review Notification</label>
|
142 |
+
<frontend_type>select</frontend_type>
|
143 |
+
<source_model>adminhtml/system_config_source_enabledisable</source_model>
|
144 |
+
<sort_order>16</sort_order>
|
145 |
+
<show_in_default>1</show_in_default>
|
146 |
+
<show_in_website>1</show_in_website>
|
147 |
+
<show_in_store>1</show_in_store>
|
148 |
+
</review>
|
149 |
</fields>
|
150 |
</catalog>
|
151 |
+
<order translate="label">
|
|
|
152 |
<label>Order</label>
|
153 |
<frontend_type>text</frontend_type>
|
154 |
<sort_order>4</sort_order>
|
165 |
<show_in_website>1</show_in_website>
|
166 |
<show_in_store>1</show_in_store>
|
167 |
</status_notified>
|
168 |
+
<new translate="label">
|
169 |
+
<label>New Order Notification</label>
|
170 |
+
<frontend_type>select</frontend_type>
|
171 |
+
<source_model>adminhtml/system_config_source_enabledisable</source_model>
|
172 |
+
<sort_order>20</sort_order>
|
173 |
+
<show_in_default>1</show_in_default>
|
174 |
+
<show_in_website>1</show_in_website>
|
175 |
+
<show_in_store>1</show_in_store>
|
176 |
+
</new>
|
177 |
+
<customer translate="label">
|
178 |
+
<label>Customer Order Notification</label>
|
179 |
+
<frontend_type>select</frontend_type>
|
180 |
+
<source_model>adminhtml/system_config_source_enabledisable</source_model>
|
181 |
+
<sort_order>30</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 |
+
</customer>
|
186 |
</fields>
|
187 |
</order>
|
188 |
+
<admin_catalog translate="label">
|
189 |
+
<label>Admin Catalog</label>
|
190 |
+
<frontend_type>text</frontend_type>
|
191 |
+
<sort_order>5</sort_order>
|
192 |
+
<show_in_default>1</show_in_default>
|
193 |
+
<show_in_website>1</show_in_website>
|
194 |
+
<show_in_store>1</show_in_store>
|
195 |
+
<fields>
|
196 |
+
<review translate="label">
|
197 |
+
<label>Review Notification</label>
|
198 |
+
<frontend_type>select</frontend_type>
|
199 |
+
<source_model>adminhtml/system_config_source_enabledisable</source_model>
|
200 |
+
<sort_order>10</sort_order>
|
201 |
+
<show_in_default>1</show_in_default>
|
202 |
+
<show_in_website>1</show_in_website>
|
203 |
+
<show_in_store>1</show_in_store>
|
204 |
+
</review>
|
205 |
+
<notifystock translate="label">
|
206 |
+
<label>Stock Notification</label>
|
207 |
+
<frontend_type>select</frontend_type>
|
208 |
+
<source_model>adminhtml/system_config_source_enabledisable</source_model>
|
209 |
+
<sort_order>20</sort_order>
|
210 |
+
<show_in_default>1</show_in_default>
|
211 |
+
<show_in_website>1</show_in_website>
|
212 |
+
<show_in_store>1</show_in_store>
|
213 |
+
</notifystock>
|
214 |
+
</fields>
|
215 |
+
</admin_catalog>
|
216 |
+
<admin_order translate="label">
|
217 |
+
<label>Admin Order</label>
|
218 |
+
<frontend_type>text</frontend_type>
|
219 |
+
<sort_order>6</sort_order>
|
220 |
+
<show_in_default>1</show_in_default>
|
221 |
+
<show_in_website>1</show_in_website>
|
222 |
+
<show_in_store>1</show_in_store>
|
223 |
+
<fields>
|
224 |
+
<new translate="label">
|
225 |
+
<label>New Order Notification</label>
|
226 |
+
<frontend_type>select</frontend_type>
|
227 |
+
<source_model>adminhtml/system_config_source_enabledisable</source_model>
|
228 |
+
<sort_order>10</sort_order>
|
229 |
+
<show_in_default>1</show_in_default>
|
230 |
+
<show_in_website>1</show_in_website>
|
231 |
+
<show_in_store>1</show_in_store>
|
232 |
+
</new>
|
233 |
+
</fields>
|
234 |
+
</admin_order>
|
235 |
</groups>
|
236 |
</rss>
|
237 |
</sections>
|
app/code/core/Mage/Sales/Helper/Guest.php
CHANGED
@@ -81,7 +81,7 @@ class Mage_Sales_Helper_Guest extends Mage_Core_Helper_Data
|
|
81 |
$billingAddress = $order->getBillingAddress();
|
82 |
if ((strtolower($lastName) != strtolower($billingAddress->getLastname()))
|
83 |
|| ($type == 'email'
|
84 |
-
&& strtolower($email) != strtolower($
|
85 |
|| ($type == 'zip'
|
86 |
&& (strtolower($zip) != strtolower($billingAddress->getPostcode())))
|
87 |
) {
|
81 |
$billingAddress = $order->getBillingAddress();
|
82 |
if ((strtolower($lastName) != strtolower($billingAddress->getLastname()))
|
83 |
|| ($type == 'email'
|
84 |
+
&& strtolower($email) != strtolower($order->getCustomerEmail()))
|
85 |
|| ($type == 'zip'
|
86 |
&& (strtolower($zip) != strtolower($billingAddress->getPostcode())))
|
87 |
) {
|
app/code/core/Mage/Sales/Model/Email/Template.php
CHANGED
@@ -33,7 +33,7 @@ class Mage_Sales_Model_Email_Template extends Mage_Core_Model_Email_Template
|
|
33 |
if (!$filename) {
|
34 |
return '';
|
35 |
}
|
36 |
-
extract($variables);
|
37 |
ob_start();
|
38 |
include $filename;
|
39 |
return ob_get_clean();
|
33 |
if (!$filename) {
|
34 |
return '';
|
35 |
}
|
36 |
+
extract($variables, EXTR_SKIP);
|
37 |
ob_start();
|
38 |
include $filename;
|
39 |
return ob_get_clean();
|
app/code/core/Mage/Sales/Model/Order.php
CHANGED
@@ -1255,7 +1255,11 @@ class Mage_Sales_Model_Order extends Mage_Sales_Model_Abstract
|
|
1255 |
if (!$asObject) {
|
1256 |
return $shippingMethod;
|
1257 |
} else {
|
1258 |
-
|
|
|
|
|
|
|
|
|
1259 |
return new Varien_Object(array(
|
1260 |
'carrier_code' => $carrierCode,
|
1261 |
'method' => $method
|
@@ -2021,7 +2025,12 @@ class Mage_Sales_Model_Order extends Mage_Sales_Model_Abstract
|
|
2021 |
*/
|
2022 |
public function hasShipments()
|
2023 |
{
|
2024 |
-
|
|
|
|
|
|
|
|
|
|
|
2025 |
}
|
2026 |
|
2027 |
/**
|
@@ -2031,7 +2040,12 @@ class Mage_Sales_Model_Order extends Mage_Sales_Model_Abstract
|
|
2031 |
*/
|
2032 |
public function hasCreditmemos()
|
2033 |
{
|
2034 |
-
|
|
|
|
|
|
|
|
|
|
|
2035 |
}
|
2036 |
|
2037 |
|
1255 |
if (!$asObject) {
|
1256 |
return $shippingMethod;
|
1257 |
} else {
|
1258 |
+
$segments = explode('_', $shippingMethod, 2);
|
1259 |
+
if (!isset($segments[1])) {
|
1260 |
+
$segments[1] = $segments[0];
|
1261 |
+
}
|
1262 |
+
list($carrierCode, $method) = $segments;
|
1263 |
return new Varien_Object(array(
|
1264 |
'carrier_code' => $carrierCode,
|
1265 |
'method' => $method
|
2025 |
*/
|
2026 |
public function hasShipments()
|
2027 |
{
|
2028 |
+
$result = false;
|
2029 |
+
$shipmentsCollection = $this->getShipmentsCollection();
|
2030 |
+
if ($shipmentsCollection) {
|
2031 |
+
$result = (bool)$shipmentsCollection->count();
|
2032 |
+
}
|
2033 |
+
return $result;
|
2034 |
}
|
2035 |
|
2036 |
/**
|
2040 |
*/
|
2041 |
public function hasCreditmemos()
|
2042 |
{
|
2043 |
+
$result = false;
|
2044 |
+
$creditmemosCollection = $this->getCreditmemosCollection();
|
2045 |
+
if ($creditmemosCollection) {
|
2046 |
+
$result = (bool)$creditmemosCollection->count();
|
2047 |
+
}
|
2048 |
+
return $result;
|
2049 |
}
|
2050 |
|
2051 |
|
app/code/core/Mage/Sales/Model/Order/Invoice/Total/Subtotal.php
CHANGED
@@ -40,9 +40,6 @@ class Mage_Sales_Model_Order_Invoice_Total_Subtotal extends Mage_Sales_Model_Ord
|
|
40 |
$subtotalInclTax= 0;
|
41 |
$baseSubtotalInclTax = 0;
|
42 |
|
43 |
-
$totalWeeeDiscount = 0;
|
44 |
-
$totalBaseWeeeDiscount = 0;
|
45 |
-
|
46 |
$order = $invoice->getOrder();
|
47 |
|
48 |
foreach ($invoice->getAllItems() as $item) {
|
@@ -52,50 +49,21 @@ class Mage_Sales_Model_Order_Invoice_Total_Subtotal extends Mage_Sales_Model_Ord
|
|
52 |
|
53 |
$item->calcRowTotal();
|
54 |
|
55 |
-
$subtotal
|
56 |
-
$baseSubtotal
|
57 |
-
$subtotalInclTax+= $item->getRowTotalInclTax();
|
58 |
-
$baseSubtotalInclTax += $item->getBaseRowTotalInclTax();
|
59 |
-
$totalWeeeDiscount += $item->getOrderItem()->getDiscountAppliedForWeeeTax();
|
60 |
-
$totalBaseWeeeDiscount += $item->getOrderItem()->getBaseDiscountAppliedForWeeeTax();
|
61 |
}
|
62 |
|
63 |
$allowedSubtotal = $order->getSubtotal() - $order->getSubtotalInvoiced();
|
64 |
$baseAllowedSubtotal = $order->getBaseSubtotal() - $order->getBaseSubtotalInvoiced();
|
65 |
-
$allowedSubtotalInclTax = $allowedSubtotal + $order->getHiddenTaxAmount() + $totalWeeeDiscount
|
66 |
-
+ $order->getTaxAmount() - $order->getTaxInvoiced() - $order->getHiddenTaxInvoiced();
|
67 |
-
$baseAllowedSubtotalInclTax = $baseAllowedSubtotal + $order->getBaseHiddenTaxAmount() + $totalBaseWeeeDiscount
|
68 |
-
+ $order->getBaseTaxAmount() - $order->getBaseTaxInvoiced() - $order->getBaseHiddenTaxInvoiced();
|
69 |
-
|
70 |
-
/**
|
71 |
-
* Check if shipping tax calculation is included to current invoice.
|
72 |
-
*/
|
73 |
-
$includeShippingTax = true;
|
74 |
-
foreach ($invoice->getOrder()->getInvoiceCollection() as $previousInvoice) {
|
75 |
-
if ($previousInvoice->getShippingAmount() && !$previousInvoice->isCanceled()) {
|
76 |
-
$includeShippingTax = false;
|
77 |
-
break;
|
78 |
-
}
|
79 |
-
}
|
80 |
-
|
81 |
-
if ($includeShippingTax) {
|
82 |
-
$allowedSubtotalInclTax -= $order->getShippingTaxAmount();
|
83 |
-
$baseAllowedSubtotalInclTax -= $order->getBaseShippingTaxAmount();
|
84 |
-
} else {
|
85 |
-
$allowedSubtotalInclTax += $order->getShippingHiddenTaxAmount();
|
86 |
-
$baseAllowedSubtotalInclTax += $order->getBaseShippingHiddenTaxAmount();
|
87 |
-
}
|
88 |
|
89 |
if ($invoice->isLast()) {
|
90 |
$subtotal = $allowedSubtotal;
|
91 |
$baseSubtotal = $baseAllowedSubtotal;
|
92 |
-
$subtotalInclTax = $allowedSubtotalInclTax;
|
93 |
-
$baseSubtotalInclTax = $baseAllowedSubtotalInclTax;
|
94 |
} else {
|
95 |
$subtotal = min($allowedSubtotal, $subtotal);
|
96 |
$baseSubtotal = min($baseAllowedSubtotal, $baseSubtotal);
|
97 |
-
$subtotalInclTax = min($allowedSubtotalInclTax, $subtotalInclTax);
|
98 |
-
$baseSubtotalInclTax = min($baseAllowedSubtotalInclTax, $baseSubtotalInclTax);
|
99 |
}
|
100 |
|
101 |
$invoice->setSubtotal($subtotal);
|
40 |
$subtotalInclTax= 0;
|
41 |
$baseSubtotalInclTax = 0;
|
42 |
|
|
|
|
|
|
|
43 |
$order = $invoice->getOrder();
|
44 |
|
45 |
foreach ($invoice->getAllItems() as $item) {
|
49 |
|
50 |
$item->calcRowTotal();
|
51 |
|
52 |
+
$subtotal += $item->getRowTotal();
|
53 |
+
$baseSubtotal += $item->getBaseRowTotal();
|
54 |
+
$subtotalInclTax += $item->getRowTotalInclTax() + $item->getWeeeTaxAppliedRowAmount();
|
55 |
+
$baseSubtotalInclTax += $item->getBaseRowTotalInclTax() + $item->getBaseWeeeTaxAppliedRowAmount();
|
|
|
|
|
56 |
}
|
57 |
|
58 |
$allowedSubtotal = $order->getSubtotal() - $order->getSubtotalInvoiced();
|
59 |
$baseAllowedSubtotal = $order->getBaseSubtotal() - $order->getBaseSubtotalInvoiced();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
|
61 |
if ($invoice->isLast()) {
|
62 |
$subtotal = $allowedSubtotal;
|
63 |
$baseSubtotal = $baseAllowedSubtotal;
|
|
|
|
|
64 |
} else {
|
65 |
$subtotal = min($allowedSubtotal, $subtotal);
|
66 |
$baseSubtotal = min($baseAllowedSubtotal, $baseSubtotal);
|
|
|
|
|
67 |
}
|
68 |
|
69 |
$invoice->setSubtotal($subtotal);
|
app/code/core/Mage/Sales/Model/Quote/Address/Total/Subtotal.php
CHANGED
@@ -111,7 +111,7 @@ class Mage_Sales_Model_Quote_Address_Total_Subtotal extends Mage_Sales_Model_Quo
|
|
111 |
$item->setPrice($finalPrice)
|
112 |
->setBaseOriginalPrice($finalPrice);
|
113 |
$item->calcRowTotal();
|
114 |
-
} else if (!$quoteItem->getParentItem()) {
|
115 |
$finalPrice = $product->getFinalPrice($quoteItem->getQty());
|
116 |
$item->setPrice($finalPrice)
|
117 |
->setBaseOriginalPrice($finalPrice);
|
111 |
$item->setPrice($finalPrice)
|
112 |
->setBaseOriginalPrice($finalPrice);
|
113 |
$item->calcRowTotal();
|
114 |
+
} else if (!$quoteItem->getParentItem() && !$item->getHasError()) {
|
115 |
$finalPrice = $product->getFinalPrice($quoteItem->getQty());
|
116 |
$item->setPrice($finalPrice)
|
117 |
->setBaseOriginalPrice($finalPrice);
|
app/code/core/Mage/Sales/Model/Quote/Item.php
CHANGED
@@ -507,7 +507,7 @@ class Mage_Sales_Model_Quote_Item extends Mage_Sales_Model_Quote_Item_Abstract
|
|
507 |
$itemOptionValue = $_itemOptionValue;
|
508 |
$optionValue = $_optionValue;
|
509 |
// looks like it does not break bundle selection qty
|
510 |
-
foreach (array('qty', 'uenc', 'form_key') as $key) {
|
511 |
unset($itemOptionValue[$key], $optionValue[$key]);
|
512 |
}
|
513 |
}
|
507 |
$itemOptionValue = $_itemOptionValue;
|
508 |
$optionValue = $_optionValue;
|
509 |
// looks like it does not break bundle selection qty
|
510 |
+
foreach (array('qty', 'uenc', 'form_key', 'item', 'original_qty') as $key) {
|
511 |
unset($itemOptionValue[$key], $optionValue[$key]);
|
512 |
}
|
513 |
}
|
app/code/core/Mage/Sales/Model/Quote/Item/Abstract.php
CHANGED
@@ -130,7 +130,10 @@ abstract class Mage_Sales_Model_Quote_Item_Abstract extends Mage_Core_Model_Abst
|
|
130 |
{
|
131 |
if ($parentItem) {
|
132 |
$this->_parentItem = $parentItem;
|
133 |
-
|
|
|
|
|
|
|
134 |
}
|
135 |
return $this;
|
136 |
}
|
130 |
{
|
131 |
if ($parentItem) {
|
132 |
$this->_parentItem = $parentItem;
|
133 |
+
// Prevent duplication of children in those are already set
|
134 |
+
if (!in_array($this, $parentItem->getChildren())) {
|
135 |
+
$parentItem->addChild($this);
|
136 |
+
}
|
137 |
}
|
138 |
return $this;
|
139 |
}
|
app/code/core/Mage/Sales/Model/Resource/Order/Payment.php
CHANGED
@@ -58,4 +58,28 @@ class Mage_Sales_Model_Resource_Order_Payment extends Mage_Sales_Model_Resource_
|
|
58 |
{
|
59 |
$this->_init('sales/order_payment', 'entity_id');
|
60 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
}
|
58 |
{
|
59 |
$this->_init('sales/order_payment', 'entity_id');
|
60 |
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Unserialize Varien_Object field in an object
|
64 |
+
*
|
65 |
+
* @param Mage_Core_Model_Abstract $object
|
66 |
+
* @param string $field
|
67 |
+
* @param mixed $defaultValue
|
68 |
+
*/
|
69 |
+
protected function _unserializeField(Varien_Object $object, $field, $defaultValue = null)
|
70 |
+
{
|
71 |
+
$value = $object->getData($field);
|
72 |
+
if (empty($value)) {
|
73 |
+
$object->setData($field, $defaultValue);
|
74 |
+
} elseif (!is_array($value) && !is_object($value)) {
|
75 |
+
$unserializedValue = false;
|
76 |
+
try {
|
77 |
+
$unserializedValue = Mage::helper('core/unserializeArray')
|
78 |
+
->unserialize($value);
|
79 |
+
} catch (Exception $e) {
|
80 |
+
Mage::logException($e);
|
81 |
+
}
|
82 |
+
$object->setData($field, $unserializedValue);
|
83 |
+
}
|
84 |
+
}
|
85 |
}
|
app/code/core/Mage/Sales/Model/Resource/Order/Payment/Transaction.php
CHANGED
@@ -52,6 +52,30 @@ class Mage_Sales_Model_Resource_Order_Payment_Transaction extends Mage_Sales_Mod
|
|
52 |
$this->_init('sales/payment_transaction', 'transaction_id');
|
53 |
}
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
/**
|
56 |
* Update transactions in database using provided transaction as parent for them
|
57 |
* have to repeat the business logic to avoid accidental injection of wrong transactions
|
52 |
$this->_init('sales/payment_transaction', 'transaction_id');
|
53 |
}
|
54 |
|
55 |
+
/**
|
56 |
+
* Unserialize Varien_Object field in an object
|
57 |
+
*
|
58 |
+
* @param Mage_Core_Model_Abstract $object
|
59 |
+
* @param string $field
|
60 |
+
* @param mixed $defaultValue
|
61 |
+
*/
|
62 |
+
protected function _unserializeField(Varien_Object $object, $field, $defaultValue = null)
|
63 |
+
{
|
64 |
+
$value = $object->getData($field);
|
65 |
+
if (empty($value)) {
|
66 |
+
$object->setData($field, $defaultValue);
|
67 |
+
} elseif (!is_array($value) && !is_object($value)) {
|
68 |
+
$unserializedValue = false;
|
69 |
+
try {
|
70 |
+
$unserializedValue = Mage::helper('core/unserializeArray')
|
71 |
+
->unserialize($value);
|
72 |
+
} catch (Exception $e) {
|
73 |
+
Mage::logException($e);
|
74 |
+
}
|
75 |
+
$object->setData($field, $unserializedValue);
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
/**
|
80 |
* Update transactions in database using provided transaction as parent for them
|
81 |
* have to repeat the business logic to avoid accidental injection of wrong transactions
|
app/code/core/Mage/Sales/Model/Resource/Quote.php
CHANGED
@@ -156,13 +156,13 @@ class Mage_Sales_Model_Resource_Quote extends Mage_Sales_Model_Resource_Abstract
|
|
156 |
/**
|
157 |
* Check is order increment id use in sales/order table
|
158 |
*
|
159 |
-
* @param
|
160 |
* @return boolean
|
161 |
*/
|
162 |
public function isOrderIncrementIdUsed($orderIncrementId)
|
163 |
{
|
164 |
$adapter = $this->_getReadAdapter();
|
165 |
-
$bind = array(':increment_id' =>
|
166 |
$select = $adapter->select();
|
167 |
$select->from($this->getTable('sales/order'), 'entity_id')
|
168 |
->where('increment_id = :increment_id');
|
156 |
/**
|
157 |
* Check is order increment id use in sales/order table
|
158 |
*
|
159 |
+
* @param string $orderIncrementId
|
160 |
* @return boolean
|
161 |
*/
|
162 |
public function isOrderIncrementIdUsed($orderIncrementId)
|
163 |
{
|
164 |
$adapter = $this->_getReadAdapter();
|
165 |
+
$bind = array(':increment_id' => $orderIncrementId);
|
166 |
$select = $adapter->select();
|
167 |
$select->from($this->getTable('sales/order'), 'entity_id')
|
168 |
->where('increment_id = :increment_id');
|
app/code/core/Mage/Sales/Model/Resource/Quote/Payment.php
CHANGED
@@ -51,4 +51,24 @@ class Mage_Sales_Model_Resource_Quote_Payment extends Mage_Sales_Model_Resource_
|
|
51 |
{
|
52 |
$this->_init('sales/quote_payment', 'payment_id');
|
53 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
}
|
51 |
{
|
52 |
$this->_init('sales/quote_payment', 'payment_id');
|
53 |
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* @see Mage_Core_Model_Resource_Abstract::_unserializeField()
|
57 |
+
*/
|
58 |
+
protected function _unserializeField(Varien_Object $object, $field, $defaultValue = null)
|
59 |
+
{
|
60 |
+
$value = $object->getData($field);
|
61 |
+
if (empty($value)) {
|
62 |
+
$object->setData($field, $defaultValue);
|
63 |
+
} elseif (!is_array($value) && !is_object($value)) {
|
64 |
+
$unserializedValue = false;
|
65 |
+
try {
|
66 |
+
$unserializedValue = Mage::helper('core/unserializeArray')
|
67 |
+
->unserialize($value);
|
68 |
+
} catch (Exception $e) {
|
69 |
+
Mage::logException($e);
|
70 |
+
}
|
71 |
+
$object->setData($field, $unserializedValue);
|
72 |
+
}
|
73 |
+
}
|
74 |
}
|
app/code/core/Mage/Sales/Model/Resource/Recurring/Profile.php
CHANGED
@@ -53,6 +53,33 @@ class Mage_Sales_Model_Resource_Recurring_Profile extends Mage_Sales_Model_Resou
|
|
53 |
);
|
54 |
}
|
55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
/**
|
57 |
* Return recurring profile child Orders Ids
|
58 |
*
|
53 |
);
|
54 |
}
|
55 |
|
56 |
+
/**
|
57 |
+
* Unserialize Varien_Object field in an object
|
58 |
+
*
|
59 |
+
* @param Mage_Core_Model_Abstract $object
|
60 |
+
* @param string $field
|
61 |
+
* @param mixed $defaultValue
|
62 |
+
*/
|
63 |
+
protected function _unserializeField(Varien_Object $object, $field, $defaultValue = null)
|
64 |
+
{
|
65 |
+
if ($field != 'additional_info') {
|
66 |
+
return parent::_unserializeField($object, $field, $defaultValue);
|
67 |
+
}
|
68 |
+
$value = $object->getData($field);
|
69 |
+
if (empty($value)) {
|
70 |
+
$object->setData($field, $defaultValue);
|
71 |
+
} elseif (!is_array($value) && !is_object($value)) {
|
72 |
+
$unserializedValue = false;
|
73 |
+
try {
|
74 |
+
$unserializedValue = Mage::helper('core/unserializeArray')
|
75 |
+
->unserialize($value);
|
76 |
+
} catch (Exception $e) {
|
77 |
+
Mage::logException($e);
|
78 |
+
}
|
79 |
+
$object->setData($field, $unserializedValue);
|
80 |
+
}
|
81 |
+
}
|
82 |
+
|
83 |
/**
|
84 |
* Return recurring profile child Orders Ids
|
85 |
*
|
app/code/core/Mage/Sales/Model/Resource/Report/Bestsellers.php
CHANGED
@@ -96,6 +96,7 @@ class Mage_Sales_Model_Resource_Report_Bestsellers extends Mage_Sales_Model_Reso
|
|
96 |
'period' => $periodExpr,
|
97 |
'store_id' => 'source_table.store_id',
|
98 |
'product_id' => 'order_item.product_id',
|
|
|
99 |
'product_name' => new Zend_Db_Expr(
|
100 |
sprintf('MIN(%s)',
|
101 |
$adapter->getIfNullSql('product_name.value','product_default_name.value')
|
@@ -132,16 +133,9 @@ class Mage_Sales_Model_Resource_Report_Bestsellers extends Mage_Sales_Model_Reso
|
|
132 |
/** @var Mage_Catalog_Model_Resource_Product $product */
|
133 |
$product = Mage::getResourceSingleton('catalog/product');
|
134 |
|
135 |
-
$productTypes = array(
|
136 |
-
Mage_Catalog_Model_Product_Type::TYPE_GROUPED,
|
137 |
-
Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE,
|
138 |
-
Mage_Catalog_Model_Product_Type::TYPE_BUNDLE,
|
139 |
-
);
|
140 |
-
|
141 |
$joinExpr = array(
|
142 |
'product.entity_id = order_item.product_id',
|
143 |
-
$adapter->quoteInto('product.entity_type_id = ?', $product->getTypeId())
|
144 |
-
$adapter->quoteInto('product.type_id NOT IN(?)', $productTypes)
|
145 |
);
|
146 |
|
147 |
$joinExpr = implode(' AND ', $joinExpr);
|
@@ -255,6 +249,7 @@ class Mage_Sales_Model_Resource_Report_Bestsellers extends Mage_Sales_Model_Reso
|
|
255 |
'period' => 'period',
|
256 |
'store_id' => new Zend_Db_Expr(Mage_Core_Model_App::ADMIN_STORE_ID),
|
257 |
'product_id' => 'product_id',
|
|
|
258 |
'product_name' => new Zend_Db_Expr('MIN(product_name)'),
|
259 |
'product_price' => new Zend_Db_Expr(
|
260 |
sprintf('%s',
|
96 |
'period' => $periodExpr,
|
97 |
'store_id' => 'source_table.store_id',
|
98 |
'product_id' => 'order_item.product_id',
|
99 |
+
'product_type_id' => 'product.type_id',
|
100 |
'product_name' => new Zend_Db_Expr(
|
101 |
sprintf('MIN(%s)',
|
102 |
$adapter->getIfNullSql('product_name.value','product_default_name.value')
|
133 |
/** @var Mage_Catalog_Model_Resource_Product $product */
|
134 |
$product = Mage::getResourceSingleton('catalog/product');
|
135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
$joinExpr = array(
|
137 |
'product.entity_id = order_item.product_id',
|
138 |
+
$adapter->quoteInto('product.entity_type_id = ?', $product->getTypeId())
|
|
|
139 |
);
|
140 |
|
141 |
$joinExpr = implode(' AND ', $joinExpr);
|
249 |
'period' => 'period',
|
250 |
'store_id' => new Zend_Db_Expr(Mage_Core_Model_App::ADMIN_STORE_ID),
|
251 |
'product_id' => 'product_id',
|
252 |
+
'product_type_id' => 'product_type_id',
|
253 |
'product_name' => new Zend_Db_Expr('MIN(product_name)'),
|
254 |
'product_price' => new Zend_Db_Expr(
|
255 |
sprintf('%s',
|
app/code/core/Mage/Sales/Model/Resource/Report/Bestsellers/Collection.php
CHANGED
@@ -77,11 +77,12 @@ class Mage_Sales_Model_Resource_Report_Bestsellers_Collection
|
|
77 |
$this->_selectedColumns = $this->getAggregatedColumns();
|
78 |
} else {
|
79 |
$this->_selectedColumns = array(
|
80 |
-
'period'
|
81 |
-
'qty_ordered'
|
82 |
-
'product_id'
|
83 |
-
'product_name'
|
84 |
-
'product_price'
|
|
|
85 |
);
|
86 |
if ('year' == $this->_period) {
|
87 |
$this->_selectedColumns['period'] = $adapter->getDateFormatSql('period', '%Y');
|
@@ -113,6 +114,7 @@ class Mage_Sales_Model_Resource_Report_Bestsellers_Collection
|
|
113 |
->order('qty_ordered DESC')
|
114 |
->limit($this->_ratingLimit);
|
115 |
|
|
|
116 |
$this->_applyStoresFilterToSelect($sel);
|
117 |
|
118 |
return $sel;
|
@@ -220,7 +222,6 @@ class Mage_Sales_Model_Resource_Report_Bestsellers_Collection
|
|
220 |
$this->_applyStoresFilter();
|
221 |
|
222 |
if ($this->_period) {
|
223 |
-
//
|
224 |
$selectUnions = array();
|
225 |
|
226 |
// apply date boundaries (before calling $this->_applyDateRangeFilter())
|
@@ -342,6 +343,7 @@ class Mage_Sales_Model_Resource_Report_Bestsellers_Collection
|
|
342 |
}
|
343 |
|
344 |
$this->_applyDateRangeFilter();
|
|
|
345 |
|
346 |
// add unions to select
|
347 |
if ($selectUnions) {
|
@@ -368,4 +370,15 @@ class Mage_Sales_Model_Resource_Report_Bestsellers_Collection
|
|
368 |
|
369 |
return $this;
|
370 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
371 |
}
|
77 |
$this->_selectedColumns = $this->getAggregatedColumns();
|
78 |
} else {
|
79 |
$this->_selectedColumns = array(
|
80 |
+
'period' => sprintf('MAX(%s)', $adapter->getDateFormatSql('period', '%Y-%m-%d')),
|
81 |
+
'qty_ordered' => 'SUM(qty_ordered)',
|
82 |
+
'product_id' => 'product_id',
|
83 |
+
'product_name' => 'MAX(product_name)',
|
84 |
+
'product_price' => 'MAX(product_price)',
|
85 |
+
'product_type_id' => 'product_type_id'
|
86 |
);
|
87 |
if ('year' == $this->_period) {
|
88 |
$this->_selectedColumns['period'] = $adapter->getDateFormatSql('period', '%Y');
|
114 |
->order('qty_ordered DESC')
|
115 |
->limit($this->_ratingLimit);
|
116 |
|
117 |
+
$this->_applyProductTypeFilter($sel);
|
118 |
$this->_applyStoresFilterToSelect($sel);
|
119 |
|
120 |
return $sel;
|
222 |
$this->_applyStoresFilter();
|
223 |
|
224 |
if ($this->_period) {
|
|
|
225 |
$selectUnions = array();
|
226 |
|
227 |
// apply date boundaries (before calling $this->_applyDateRangeFilter())
|
343 |
}
|
344 |
|
345 |
$this->_applyDateRangeFilter();
|
346 |
+
$this->_applyProductTypeFilter($this->getSelect());
|
347 |
|
348 |
// add unions to select
|
349 |
if ($selectUnions) {
|
370 |
|
371 |
return $this;
|
372 |
}
|
373 |
+
|
374 |
+
/**
|
375 |
+
* Apply filter to exclude certain product types from the collection
|
376 |
+
*
|
377 |
+
* @return Mage_Sales_Model_Resource_Report_Collection_Abstract
|
378 |
+
*/
|
379 |
+
protected function _applyProductTypeFilter(Zend_Db_Select $select)
|
380 |
+
{
|
381 |
+
$select->where('product_type_id NOT IN (?)', Mage_Catalog_Model_Product_Type::getCompositeTypes());
|
382 |
+
return $this;
|
383 |
+
}
|
384 |
}
|
app/code/core/Mage/Sales/etc/config.xml
CHANGED
@@ -28,7 +28,7 @@
|
|
28 |
<config>
|
29 |
<modules>
|
30 |
<Mage_Sales>
|
31 |
-
<version>1.6.0.
|
32 |
</Mage_Sales>
|
33 |
</modules>
|
34 |
<global>
|
@@ -1227,6 +1227,7 @@
|
|
1227 |
</grand_total>
|
1228 |
<msrp>
|
1229 |
<class>sales/quote_address_total_msrp</class>
|
|
|
1230 |
</msrp>
|
1231 |
</totals>
|
1232 |
<nominal_totals>
|
28 |
<config>
|
29 |
<modules>
|
30 |
<Mage_Sales>
|
31 |
+
<version>1.6.0.10</version>
|
32 |
</Mage_Sales>
|
33 |
</modules>
|
34 |
<global>
|
1227 |
</grand_total>
|
1228 |
<msrp>
|
1229 |
<class>sales/quote_address_total_msrp</class>
|
1230 |
+
<before>weee,freeshipping</before>
|
1231 |
</msrp>
|
1232 |
</totals>
|
1233 |
<nominal_totals>
|
app/code/core/Mage/Sales/sql/sales_setup/upgrade-1.6.0.9-1.6.0.10.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Sales
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/* @var $installer Mage_Sales_Model_Entity_Setup */
|
28 |
+
$installer = $this;
|
29 |
+
|
30 |
+
$installer->startSetup();
|
31 |
+
|
32 |
+
$bestsellersTables = array($installer->getTable('sales/bestsellers_aggregated_daily'),
|
33 |
+
$installer->getTable('sales/bestsellers_aggregated_monthly'),
|
34 |
+
$installer->getTable('sales/bestsellers_aggregated_yearly'));
|
35 |
+
|
36 |
+
foreach ($bestsellersTables as $table) {
|
37 |
+
$installer->getConnection()->addColumn(
|
38 |
+
$table,
|
39 |
+
'product_type_id',
|
40 |
+
array(
|
41 |
+
'type' => Varien_Db_Ddl_Table::TYPE_TEXT,
|
42 |
+
'length' => 32,
|
43 |
+
'default' => Mage_Catalog_Model_Product_Type::TYPE_SIMPLE,
|
44 |
+
'nullable' => false,
|
45 |
+
'after' => 'product_id',
|
46 |
+
'comment' => 'Product Type Id'
|
47 |
+
)
|
48 |
+
);
|
49 |
+
}
|
50 |
+
|
51 |
+
$installer->endSetup();
|
app/code/core/Mage/SalesRule/Model/Rule/Condition/Product.php
CHANGED
@@ -57,7 +57,7 @@ class Mage_SalesRule_Model_Rule_Condition_Product extends Mage_Rule_Model_Condit
|
|
57 |
public function validate(Varien_Object $object)
|
58 |
{
|
59 |
/** @var Mage_Catalog_Model_Product $product */
|
60 |
-
$product = $object->getProduct();
|
61 |
if (!($product instanceof Mage_Catalog_Model_Product)) {
|
62 |
$product = Mage::getModel('catalog/product')->load($object->getProductId());
|
63 |
}
|
57 |
public function validate(Varien_Object $object)
|
58 |
{
|
59 |
/** @var Mage_Catalog_Model_Product $product */
|
60 |
+
$product = ($object instanceof Mage_Catalog_Model_Product) ? $object : $object->getProduct();
|
61 |
if (!($product instanceof Mage_Catalog_Model_Product)) {
|
62 |
$product = Mage::getModel('catalog/product')->load($object->getProductId());
|
63 |
}
|
app/code/core/Mage/SalesRule/Model/Rule/Condition/Product/Combine.php
CHANGED
@@ -216,7 +216,22 @@ class Mage_SalesRule_Model_Rule_Condition_Product_Combine extends Mage_Rule_Mode
|
|
216 |
$valid = parent::validate($object);
|
217 |
if (!$valid && $product->getTypeId() == Mage_Catalog_Model_Product_Type_Configurable::TYPE_CODE) {
|
218 |
$children = $object->getChildren();
|
219 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
}
|
221 |
|
222 |
return $valid;
|
216 |
$valid = parent::validate($object);
|
217 |
if (!$valid && $product->getTypeId() == Mage_Catalog_Model_Product_Type_Configurable::TYPE_CODE) {
|
218 |
$children = $object->getChildren();
|
219 |
+
if (is_array($children) and isset($children[0])) {
|
220 |
+
$child = $children[0];
|
221 |
+
|
222 |
+
/** @var Mage_Catalog_Model_Product $childProduct */
|
223 |
+
$childProduct = Mage::getModel('catalog/product')->load($child->getProductId());
|
224 |
+
$childProduct
|
225 |
+
->setQuoteItemQty($object->getQty())
|
226 |
+
->setQuoteItemPrice($object->getPrice())
|
227 |
+
->setQuoteItemRowTotal($object->getBaseRowTotal());
|
228 |
+
|
229 |
+
if (!$childProduct->isVisibleInSiteVisibility()) {
|
230 |
+
$childProduct->setCategoryIds($product->getCategoryIds());
|
231 |
+
}
|
232 |
+
|
233 |
+
$valid = parent::validate($childProduct);
|
234 |
+
}
|
235 |
}
|
236 |
|
237 |
return $valid;
|
app/code/core/Mage/SalesRule/Model/Validator.php
CHANGED
@@ -245,26 +245,26 @@ class Mage_SalesRule_Model_Validator extends Mage_Core_Model_Abstract
|
|
245 |
$item->setFreeShipping(false);
|
246 |
|
247 |
foreach ($this->_getRules() as $rule) {
|
248 |
-
/* @var $rule Mage_SalesRule_Model_Rule */
|
249 |
-
if (!$this->_canProcessRule($rule, $address)) {
|
250 |
-
continue;
|
251 |
-
}
|
252 |
-
|
253 |
-
if (!$rule->getActions()->validate($item)) {
|
254 |
-
continue;
|
255 |
-
}
|
256 |
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
261 |
|
262 |
-
|
263 |
-
|
|
|
|
|
|
|
264 |
break;
|
265 |
-
|
266 |
-
if ($rule->getStopRulesProcessing()) {
|
267 |
-
break;
|
268 |
}
|
269 |
}
|
270 |
return $this;
|
@@ -316,204 +316,198 @@ class Mage_SalesRule_Model_Validator extends Mage_Core_Model_Abstract
|
|
316 |
foreach ($this->_getRules() as $rule) {
|
317 |
|
318 |
/* @var $rule Mage_SalesRule_Model_Rule */
|
319 |
-
if (
|
320 |
-
|
321 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
322 |
|
323 |
-
|
324 |
-
|
325 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
326 |
|
327 |
-
|
328 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
329 |
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
$baseOriginalDiscountAmount = 0;
|
335 |
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
($qty * $baseItemOriginalPrice - $item->getDiscountAmount()) * $_rulePct;
|
352 |
-
|
353 |
-
if (!$rule->getDiscountQty() || $rule->getDiscountQty()>$qty) {
|
354 |
-
$discountPercent = min(100, $item->getDiscountPercent()+$rulePercent);
|
355 |
-
$item->setDiscountPercent($discountPercent);
|
356 |
-
}
|
357 |
-
break;
|
358 |
-
case Mage_SalesRule_Model_Rule::TO_FIXED_ACTION:
|
359 |
-
$quoteAmount = $quote->getStore()->convertPrice($rule->getDiscountAmount());
|
360 |
-
$discountAmount = $qty * ($itemPrice-$quoteAmount);
|
361 |
-
$baseDiscountAmount = $qty * ($baseItemPrice-$rule->getDiscountAmount());
|
362 |
-
//get discount for original price
|
363 |
-
$originalDiscountAmount = $qty * ($itemOriginalPrice-$quoteAmount);
|
364 |
-
$baseOriginalDiscountAmount = $qty * ($baseItemOriginalPrice-$rule->getDiscountAmount());
|
365 |
-
break;
|
366 |
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
}
|
381 |
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
if ($quote->getIsMultiShipping()) {
|
386 |
-
$usedForAddressId = $this->getCartFixedRuleUsedForAddress($rule->getId());
|
387 |
-
if ($usedForAddressId && $usedForAddressId != $address->getId()) {
|
388 |
-
break;
|
389 |
-
} else {
|
390 |
-
$this->setCartFixedRuleUsedForAddress($rule->getId(), $address->getId());
|
391 |
-
}
|
392 |
-
}
|
393 |
-
$cartRules = $address->getCartFixedRules();
|
394 |
-
if (!isset($cartRules[$rule->getId()])) {
|
395 |
-
$cartRules[$rule->getId()] = $rule->getDiscountAmount();
|
396 |
-
}
|
397 |
|
398 |
-
|
399 |
-
|
400 |
-
$
|
401 |
-
$baseDiscountAmount = min($baseItemPrice * $qty, $cartRules[$rule->getId()]);
|
402 |
-
} else {
|
403 |
-
$discountRate = $baseItemPrice * $qty /
|
404 |
-
$this->_rulesItemTotals[$rule->getId()]['base_items_price'];
|
405 |
-
$maximumItemDiscount = $rule->getDiscountAmount() * $discountRate;
|
406 |
-
$quoteAmount = $quote->getStore()->convertPrice($maximumItemDiscount);
|
407 |
|
408 |
-
$
|
409 |
-
$this->_rulesItemTotals[$rule->getId()]['items_count']--;
|
410 |
}
|
|
|
411 |
|
412 |
-
|
413 |
-
$discountAmount = $quote->getStore()->roundPrice($discountAmount);
|
414 |
-
$baseDiscountAmount = $quote->getStore()->roundPrice($baseDiscountAmount);
|
415 |
|
416 |
-
|
417 |
-
$
|
418 |
-
$
|
|
|
|
|
|
|
|
|
419 |
|
420 |
-
$
|
421 |
-
|
422 |
-
$address->setCartFixedRules($cartRules);
|
423 |
|
424 |
-
|
|
|
|
|
|
|
425 |
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
|
|
430 |
break;
|
431 |
-
|
432 |
-
$buyAndDiscountQty = $x + $y;
|
433 |
-
|
434 |
-
$fullRuleQtyPeriod = floor($qty / $buyAndDiscountQty);
|
435 |
-
$freeQty = $qty - $fullRuleQtyPeriod * $buyAndDiscountQty;
|
436 |
-
|
437 |
-
$discountQty = $fullRuleQtyPeriod * $y;
|
438 |
-
if ($freeQty > $x) {
|
439 |
-
$discountQty += $freeQty - $x;
|
440 |
-
}
|
441 |
-
|
442 |
-
$discountAmount = $discountQty * $itemPrice;
|
443 |
-
$baseDiscountAmount = $discountQty * $baseItemPrice;
|
444 |
-
//get discount for original price
|
445 |
-
$originalDiscountAmount = $discountQty * $itemOriginalPrice;
|
446 |
-
$baseOriginalDiscountAmount = $discountQty * $baseItemOriginalPrice;
|
447 |
-
break;
|
448 |
-
}
|
449 |
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
|
494 |
-
|
495 |
-
|
496 |
|
497 |
-
|
498 |
-
|
499 |
|
500 |
-
|
501 |
-
|
502 |
|
503 |
-
|
504 |
-
|
505 |
|
506 |
-
|
507 |
|
508 |
-
|
509 |
-
|
510 |
|
511 |
-
|
512 |
-
|
513 |
-
|
|
|
514 |
}
|
515 |
}
|
516 |
-
|
517 |
$item->setAppliedRuleIds(join(',',$appliedRuleIds));
|
518 |
$address->setAppliedRuleIds($this->mergeIds($address->getAppliedRuleIds(), $appliedRuleIds));
|
519 |
$quote->setAppliedRuleIds($this->mergeIds($quote->getAppliedRuleIds(), $appliedRuleIds));
|
245 |
$item->setFreeShipping(false);
|
246 |
|
247 |
foreach ($this->_getRules() as $rule) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
|
249 |
+
/* @var $rule Mage_SalesRule_Model_Rule */
|
250 |
+
if (
|
251 |
+
$rule->getSimpleFreeShipping()
|
252 |
+
&& $this->_canProcessRule($rule, $address)
|
253 |
+
&& $rule->getActions()->validate($item)
|
254 |
+
) {
|
255 |
+
|
256 |
+
switch ($rule->getSimpleFreeShipping()) {
|
257 |
+
case Mage_SalesRule_Model_Rule::FREE_SHIPPING_ITEM:
|
258 |
+
$item->setFreeShipping($rule->getDiscountQty() ? $rule->getDiscountQty() : true);
|
259 |
+
break;
|
260 |
|
261 |
+
case Mage_SalesRule_Model_Rule::FREE_SHIPPING_ADDRESS:
|
262 |
+
$address->setFreeShipping(true);
|
263 |
+
break;
|
264 |
+
}
|
265 |
+
if ($rule->getStopRulesProcessing()) {
|
266 |
break;
|
267 |
+
}
|
|
|
|
|
268 |
}
|
269 |
}
|
270 |
return $this;
|
316 |
foreach ($this->_getRules() as $rule) {
|
317 |
|
318 |
/* @var $rule Mage_SalesRule_Model_Rule */
|
319 |
+
if ($this->_canProcessRule($rule, $address) && $rule->getActions()->validate($item)) {
|
320 |
+
|
321 |
+
$qty = $this->_getItemQty($item, $rule);
|
322 |
+
$rulePercent = min(100, $rule->getDiscountAmount());
|
323 |
+
|
324 |
+
$discountAmount = 0;
|
325 |
+
$baseDiscountAmount = 0;
|
326 |
+
//discount for original price
|
327 |
+
$originalDiscountAmount = 0;
|
328 |
+
$baseOriginalDiscountAmount = 0;
|
329 |
+
|
330 |
+
switch ($rule->getSimpleAction()) {
|
331 |
+
case Mage_SalesRule_Model_Rule::TO_PERCENT_ACTION:
|
332 |
+
$rulePercent = max(0, 100 - $rule->getDiscountAmount());
|
333 |
+
//no break;
|
334 |
+
case Mage_SalesRule_Model_Rule::BY_PERCENT_ACTION:
|
335 |
+
$step = $rule->getDiscountStep();
|
336 |
+
if ($step) {
|
337 |
+
$qty = floor($qty / $step) * $step;
|
338 |
+
}
|
339 |
+
$_rulePct = $rulePercent / 100;
|
340 |
+
$discountAmount = ($qty * $itemPrice - $item->getDiscountAmount()) * $_rulePct;
|
341 |
+
$baseDiscountAmount = ($qty * $baseItemPrice - $item->getBaseDiscountAmount()) * $_rulePct;
|
342 |
+
//get discount for original price
|
343 |
+
$originalDiscountAmount = ($qty * $itemOriginalPrice - $item->getDiscountAmount()) * $_rulePct;
|
344 |
+
$baseOriginalDiscountAmount =
|
345 |
+
($qty * $baseItemOriginalPrice - $item->getDiscountAmount()) * $_rulePct;
|
346 |
|
347 |
+
if (!$rule->getDiscountQty() || $rule->getDiscountQty() > $qty) {
|
348 |
+
$discountPercent = min(100, $item->getDiscountPercent() + $rulePercent);
|
349 |
+
$item->setDiscountPercent($discountPercent);
|
350 |
+
}
|
351 |
+
break;
|
352 |
+
case Mage_SalesRule_Model_Rule::TO_FIXED_ACTION:
|
353 |
+
$quoteAmount = $quote->getStore()->convertPrice($rule->getDiscountAmount());
|
354 |
+
$discountAmount = $qty * ($itemPrice - $quoteAmount);
|
355 |
+
$baseDiscountAmount = $qty * ($baseItemPrice - $rule->getDiscountAmount());
|
356 |
+
//get discount for original price
|
357 |
+
$originalDiscountAmount = $qty * ($itemOriginalPrice - $quoteAmount);
|
358 |
+
$baseOriginalDiscountAmount = $qty * ($baseItemOriginalPrice - $rule->getDiscountAmount());
|
359 |
+
break;
|
360 |
|
361 |
+
case Mage_SalesRule_Model_Rule::BY_FIXED_ACTION:
|
362 |
+
$step = $rule->getDiscountStep();
|
363 |
+
if ($step) {
|
364 |
+
$qty = floor($qty / $step) * $step;
|
365 |
+
}
|
366 |
+
$quoteAmount = $quote->getStore()->convertPrice($rule->getDiscountAmount());
|
367 |
+
$discountAmount = $qty * $quoteAmount;
|
368 |
+
$baseDiscountAmount = $qty * $rule->getDiscountAmount();
|
369 |
+
break;
|
370 |
|
371 |
+
case Mage_SalesRule_Model_Rule::CART_FIXED_ACTION:
|
372 |
+
if (empty($this->_rulesItemTotals[$rule->getId()])) {
|
373 |
+
Mage::throwException(Mage::helper('salesrule')->__('Item totals are not set for rule.'));
|
374 |
+
}
|
|
|
375 |
|
376 |
+
/**
|
377 |
+
* prevent applying whole cart discount for every shipping order, but only for first order
|
378 |
+
*/
|
379 |
+
if ($quote->getIsMultiShipping()) {
|
380 |
+
$usedForAddressId = $this->getCartFixedRuleUsedForAddress($rule->getId());
|
381 |
+
if ($usedForAddressId && $usedForAddressId != $address->getId()) {
|
382 |
+
break;
|
383 |
+
} else {
|
384 |
+
$this->setCartFixedRuleUsedForAddress($rule->getId(), $address->getId());
|
385 |
+
}
|
386 |
+
}
|
387 |
+
$cartRules = $address->getCartFixedRules();
|
388 |
+
if (!isset($cartRules[$rule->getId()])) {
|
389 |
+
$cartRules[$rule->getId()] = $rule->getDiscountAmount();
|
390 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
391 |
|
392 |
+
if ($cartRules[$rule->getId()] > 0) {
|
393 |
+
if ($this->_rulesItemTotals[$rule->getId()]['items_count'] <= 1) {
|
394 |
+
$quoteAmount = $quote->getStore()->convertPrice($cartRules[$rule->getId()]);
|
395 |
+
$baseDiscountAmount = min($baseItemPrice * $qty, $cartRules[$rule->getId()]);
|
396 |
+
} else {
|
397 |
+
$discountRate = $baseItemPrice * $qty /
|
398 |
+
$this->_rulesItemTotals[$rule->getId()]['base_items_price'];
|
399 |
+
$maximumItemDiscount = $rule->getDiscountAmount() * $discountRate;
|
400 |
+
$quoteAmount = $quote->getStore()->convertPrice($maximumItemDiscount);
|
401 |
|
402 |
+
$baseDiscountAmount = min($baseItemPrice * $qty, $maximumItemDiscount);
|
403 |
+
$this->_rulesItemTotals[$rule->getId()]['items_count']--;
|
404 |
+
}
|
|
|
405 |
|
406 |
+
$discountAmount = min($itemPrice * $qty, $quoteAmount);
|
407 |
+
$discountAmount = $quote->getStore()->roundPrice($discountAmount);
|
408 |
+
$baseDiscountAmount = $quote->getStore()->roundPrice($baseDiscountAmount);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
409 |
|
410 |
+
//get discount for original price
|
411 |
+
$originalDiscountAmount = min($itemOriginalPrice * $qty, $quoteAmount);
|
412 |
+
$baseOriginalDiscountAmount = $quote->getStore()->roundPrice($baseItemOriginalPrice);
|
|
|
|
|
|
|
|
|
|
|
|
|
413 |
|
414 |
+
$cartRules[$rule->getId()] -= $baseDiscountAmount;
|
|
|
415 |
}
|
416 |
+
$address->setCartFixedRules($cartRules);
|
417 |
|
418 |
+
break;
|
|
|
|
|
419 |
|
420 |
+
case Mage_SalesRule_Model_Rule::BUY_X_GET_Y_ACTION:
|
421 |
+
$x = $rule->getDiscountStep();
|
422 |
+
$y = $rule->getDiscountAmount();
|
423 |
+
if (!$x || $y > $x) {
|
424 |
+
break;
|
425 |
+
}
|
426 |
+
$buyAndDiscountQty = $x + $y;
|
427 |
|
428 |
+
$fullRuleQtyPeriod = floor($qty / $buyAndDiscountQty);
|
429 |
+
$freeQty = $qty - $fullRuleQtyPeriod * $buyAndDiscountQty;
|
|
|
430 |
|
431 |
+
$discountQty = $fullRuleQtyPeriod * $y;
|
432 |
+
if ($freeQty > $x) {
|
433 |
+
$discountQty += $freeQty - $x;
|
434 |
+
}
|
435 |
|
436 |
+
$discountAmount = $discountQty * $itemPrice;
|
437 |
+
$baseDiscountAmount = $discountQty * $baseItemPrice;
|
438 |
+
//get discount for original price
|
439 |
+
$originalDiscountAmount = $discountQty * $itemOriginalPrice;
|
440 |
+
$baseOriginalDiscountAmount = $discountQty * $baseItemOriginalPrice;
|
441 |
break;
|
442 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
443 |
|
444 |
+
$result = new Varien_Object(array(
|
445 |
+
'discount_amount' => $discountAmount,
|
446 |
+
'base_discount_amount' => $baseDiscountAmount,
|
447 |
+
));
|
448 |
+
Mage::dispatchEvent('salesrule_validator_process', array(
|
449 |
+
'rule' => $rule,
|
450 |
+
'item' => $item,
|
451 |
+
'address' => $address,
|
452 |
+
'quote' => $quote,
|
453 |
+
'qty' => $qty,
|
454 |
+
'result' => $result,
|
455 |
+
));
|
456 |
+
|
457 |
+
$discountAmount = $result->getDiscountAmount();
|
458 |
+
$baseDiscountAmount = $result->getBaseDiscountAmount();
|
459 |
+
|
460 |
+
$percentKey = $item->getDiscountPercent();
|
461 |
+
/**
|
462 |
+
* Process "delta" rounding
|
463 |
+
*/
|
464 |
+
if ($percentKey) {
|
465 |
+
$delta = isset($this->_roundingDeltas[$percentKey]) ? $this->_roundingDeltas[$percentKey] : 0;
|
466 |
+
$baseDelta = isset($this->_baseRoundingDeltas[$percentKey])
|
467 |
+
? $this->_baseRoundingDeltas[$percentKey]
|
468 |
+
: 0;
|
469 |
+
$discountAmount += $delta;
|
470 |
+
$baseDiscountAmount += $baseDelta;
|
471 |
+
|
472 |
+
$this->_roundingDeltas[$percentKey] = $discountAmount -
|
473 |
+
$quote->getStore()->roundPrice($discountAmount);
|
474 |
+
$this->_baseRoundingDeltas[$percentKey] = $baseDiscountAmount -
|
475 |
+
$quote->getStore()->roundPrice($baseDiscountAmount);
|
476 |
+
$discountAmount = $quote->getStore()->roundPrice($discountAmount);
|
477 |
+
$baseDiscountAmount = $quote->getStore()->roundPrice($baseDiscountAmount);
|
478 |
+
} else {
|
479 |
+
$discountAmount = $quote->getStore()->roundPrice($discountAmount);
|
480 |
+
$baseDiscountAmount = $quote->getStore()->roundPrice($baseDiscountAmount);
|
481 |
+
}
|
482 |
|
483 |
+
/**
|
484 |
+
* We can't use row total here because row total not include tax
|
485 |
+
* Discount can be applied on price included tax
|
486 |
+
*/
|
487 |
|
488 |
+
$itemDiscountAmount = $item->getDiscountAmount();
|
489 |
+
$itemBaseDiscountAmount = $item->getBaseDiscountAmount();
|
490 |
|
491 |
+
$discountAmount = min($itemDiscountAmount + $discountAmount, $itemPrice * $qty);
|
492 |
+
$baseDiscountAmount = min($itemBaseDiscountAmount + $baseDiscountAmount, $baseItemPrice * $qty);
|
493 |
|
494 |
+
$item->setDiscountAmount($discountAmount);
|
495 |
+
$item->setBaseDiscountAmount($baseDiscountAmount);
|
496 |
|
497 |
+
$item->setOriginalDiscountAmount($originalDiscountAmount);
|
498 |
+
$item->setBaseOriginalDiscountAmount($baseOriginalDiscountAmount);
|
499 |
|
500 |
+
$appliedRuleIds[$rule->getRuleId()] = $rule->getRuleId();
|
501 |
|
502 |
+
$this->_maintainAddressCouponCode($address, $rule);
|
503 |
+
$this->_addDiscountDescription($address, $rule);
|
504 |
|
505 |
+
if ($rule->getStopRulesProcessing()) {
|
506 |
+
$this->_stopFurtherRules = true;
|
507 |
+
break;
|
508 |
+
}
|
509 |
}
|
510 |
}
|
|
|
511 |
$item->setAppliedRuleIds(join(',',$appliedRuleIds));
|
512 |
$address->setAppliedRuleIds($this->mergeIds($address->getAppliedRuleIds(), $appliedRuleIds));
|
513 |
$quote->setAppliedRuleIds($this->mergeIds($quote->getAppliedRuleIds(), $appliedRuleIds));
|
app/code/core/Mage/SalesRule/etc/config.xml
CHANGED
@@ -134,8 +134,8 @@
|
|
134 |
<totals>
|
135 |
<freeshipping>
|
136 |
<class>salesrule/quote_freeshipping</class>
|
137 |
-
<after>subtotal</after>
|
138 |
-
<before>
|
139 |
</freeshipping>
|
140 |
<discount>
|
141 |
<class>salesrule/quote_discount</class>
|
134 |
<totals>
|
135 |
<freeshipping>
|
136 |
<class>salesrule/quote_freeshipping</class>
|
137 |
+
<after>subtotal,tax_subtotal</after>
|
138 |
+
<before>shipping</before>
|
139 |
</freeshipping>
|
140 |
<discount>
|
141 |
<class>salesrule/quote_discount</class>
|
app/code/core/Mage/Sitemap/Model/Sitemap.php
CHANGED
@@ -155,7 +155,8 @@ class Mage_Sitemap_Model_Sitemap extends Mage_Core_Model_Abstract
|
|
155 |
$categories = new Varien_Object();
|
156 |
$categories->setItems($collection);
|
157 |
Mage::dispatchEvent('sitemap_categories_generating_before', array(
|
158 |
-
'collection' => $categories
|
|
|
159 |
));
|
160 |
foreach ($categories->getItems() as $item) {
|
161 |
$xml = sprintf(
|
@@ -178,7 +179,8 @@ class Mage_Sitemap_Model_Sitemap extends Mage_Core_Model_Abstract
|
|
178 |
$products = new Varien_Object();
|
179 |
$products->setItems($collection);
|
180 |
Mage::dispatchEvent('sitemap_products_generating_before', array(
|
181 |
-
'collection' => $products
|
|
|
182 |
));
|
183 |
foreach ($products->getItems() as $item) {
|
184 |
$xml = sprintf(
|
155 |
$categories = new Varien_Object();
|
156 |
$categories->setItems($collection);
|
157 |
Mage::dispatchEvent('sitemap_categories_generating_before', array(
|
158 |
+
'collection' => $categories,
|
159 |
+
'store_id' => $storeId
|
160 |
));
|
161 |
foreach ($categories->getItems() as $item) {
|
162 |
$xml = sprintf(
|
179 |
$products = new Varien_Object();
|
180 |
$products->setItems($collection);
|
181 |
Mage::dispatchEvent('sitemap_products_generating_before', array(
|
182 |
+
'collection' => $products,
|
183 |
+
'store_id' => $storeId
|
184 |
));
|
185 |
foreach ($products->getItems() as $item) {
|
186 |
$xml = sprintf(
|
app/code/core/Mage/Tax/etc/config.xml
CHANGED
@@ -162,8 +162,8 @@
|
|
162 |
<totals>
|
163 |
<tax_subtotal>
|
164 |
<class>tax/sales_total_quote_subtotal</class>
|
165 |
-
<after>
|
166 |
-
<before>tax,discount</before>
|
167 |
</tax_subtotal>
|
168 |
<tax_shipping>
|
169 |
<class>tax/sales_total_quote_shipping</class>
|
162 |
<totals>
|
163 |
<tax_subtotal>
|
164 |
<class>tax/sales_total_quote_subtotal</class>
|
165 |
+
<after>subtotal</after>
|
166 |
+
<before>tax,discount,msrp</before>
|
167 |
</tax_subtotal>
|
168 |
<tax_shipping>
|
169 |
<class>tax/sales_total_quote_shipping</class>
|
app/code/core/Mage/Uploader/Block/Abstract.php
ADDED
@@ -0,0 +1,247 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Uploader
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
abstract class Mage_Uploader_Block_Abstract extends Mage_Adminhtml_Block_Widget
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* Template used for uploader
|
31 |
+
*
|
32 |
+
* @var string
|
33 |
+
*/
|
34 |
+
protected $_template = 'media/uploader.phtml';
|
35 |
+
|
36 |
+
/**
|
37 |
+
* @var Mage_Uploader_Model_Config_Misc
|
38 |
+
*/
|
39 |
+
protected $_misc;
|
40 |
+
|
41 |
+
/**
|
42 |
+
* @var Mage_Uploader_Model_Config_Uploader
|
43 |
+
*/
|
44 |
+
protected $_uploaderConfig;
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @var Mage_Uploader_Model_Config_Browsebutton
|
48 |
+
*/
|
49 |
+
protected $_browseButtonConfig;
|
50 |
+
|
51 |
+
/**
|
52 |
+
* @var Mage_Uploader_Model_Config_Misc
|
53 |
+
*/
|
54 |
+
protected $_miscConfig;
|
55 |
+
|
56 |
+
/**
|
57 |
+
* @var array
|
58 |
+
*/
|
59 |
+
protected $_idsMapping = array();
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Default browse button ID suffix
|
63 |
+
*/
|
64 |
+
const DEFAULT_BROWSE_BUTTON_ID_SUFFIX = 'browse';
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Constructor for uploader block
|
68 |
+
*
|
69 |
+
* @see https://github.com/flowjs/flow.js/tree/v2.9.0#configuration
|
70 |
+
* @description Set unique id for block
|
71 |
+
*/
|
72 |
+
public function __construct()
|
73 |
+
{
|
74 |
+
parent::__construct();
|
75 |
+
$this->setId($this->getId() . '_Uploader');
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Helper for file manipulation
|
80 |
+
*
|
81 |
+
* @return Mage_Uploader_Helper_File
|
82 |
+
*/
|
83 |
+
protected function _getHelper()
|
84 |
+
{
|
85 |
+
return Mage::helper('uploader/file');
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* @return string
|
90 |
+
*/
|
91 |
+
public function getJsonConfig()
|
92 |
+
{
|
93 |
+
return $this->helper('core')->jsonEncode(array(
|
94 |
+
'uploaderConfig' => $this->getUploaderConfig()->getData(),
|
95 |
+
'elementIds' => $this->_getElementIdsMapping(),
|
96 |
+
'browseConfig' => $this->getButtonConfig()->getData(),
|
97 |
+
'miscConfig' => $this->getMiscConfig()->getData(),
|
98 |
+
));
|
99 |
+
}
|
100 |
+
|
101 |
+
/**
|
102 |
+
* Get mapping of ids for front-end use
|
103 |
+
*
|
104 |
+
* @return array
|
105 |
+
*/
|
106 |
+
protected function _getElementIdsMapping()
|
107 |
+
{
|
108 |
+
return $this->_idsMapping;
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Add mapping ids for front-end use
|
113 |
+
*
|
114 |
+
* @param array $additionalButtons
|
115 |
+
* @return $this
|
116 |
+
*/
|
117 |
+
protected function _addElementIdsMapping($additionalButtons = array())
|
118 |
+
{
|
119 |
+
$this->_idsMapping = array_merge($this->_idsMapping, $additionalButtons);
|
120 |
+
|
121 |
+
return $this;
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* Prepare layout, create buttons, set front-end elements ids
|
126 |
+
*
|
127 |
+
* @return Mage_Core_Block_Abstract
|
128 |
+
*/
|
129 |
+
protected function _prepareLayout()
|
130 |
+
{
|
131 |
+
$this->setChild(
|
132 |
+
'browse_button',
|
133 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
134 |
+
->addData(array(
|
135 |
+
// Workaround for IE9
|
136 |
+
'before_html' => sprintf(
|
137 |
+
'<div style="display:inline-block;" id="%s">',
|
138 |
+
$this->getElementId(self::DEFAULT_BROWSE_BUTTON_ID_SUFFIX)
|
139 |
+
),
|
140 |
+
'after_html' => '</div>',
|
141 |
+
'id' => $this->getElementId(self::DEFAULT_BROWSE_BUTTON_ID_SUFFIX . '_button'),
|
142 |
+
'label' => Mage::helper('uploader')->__('Browse Files...'),
|
143 |
+
'type' => 'button',
|
144 |
+
))
|
145 |
+
);
|
146 |
+
|
147 |
+
$this->setChild(
|
148 |
+
'delete_button',
|
149 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
150 |
+
->addData(array(
|
151 |
+
'id' => '{{id}}',
|
152 |
+
'class' => 'delete',
|
153 |
+
'type' => 'button',
|
154 |
+
'label' => Mage::helper('uploader')->__('Remove')
|
155 |
+
))
|
156 |
+
);
|
157 |
+
|
158 |
+
$this->_addElementIdsMapping(array(
|
159 |
+
'container' => $this->getHtmlId(),
|
160 |
+
'templateFile' => $this->getElementId('template'),
|
161 |
+
'browse' => $this->_prepareElementsIds(array(self::DEFAULT_BROWSE_BUTTON_ID_SUFFIX))
|
162 |
+
));
|
163 |
+
|
164 |
+
return parent::_prepareLayout();
|
165 |
+
}
|
166 |
+
|
167 |
+
/**
|
168 |
+
* Get browse button html
|
169 |
+
*
|
170 |
+
* @return string
|
171 |
+
*/
|
172 |
+
public function getBrowseButtonHtml()
|
173 |
+
{
|
174 |
+
return $this->getChildHtml('browse_button');
|
175 |
+
}
|
176 |
+
|
177 |
+
/**
|
178 |
+
* Get delete button html
|
179 |
+
*
|
180 |
+
* @return string
|
181 |
+
*/
|
182 |
+
public function getDeleteButtonHtml()
|
183 |
+
{
|
184 |
+
return $this->getChildHtml('delete_button');
|
185 |
+
}
|
186 |
+
|
187 |
+
/**
|
188 |
+
* Get uploader misc settings
|
189 |
+
*
|
190 |
+
* @return Mage_Uploader_Model_Config_Misc
|
191 |
+
*/
|
192 |
+
public function getMiscConfig()
|
193 |
+
{
|
194 |
+
if (is_null($this->_miscConfig)) {
|
195 |
+
$this->_miscConfig = Mage::getModel('uploader/config_misc');
|
196 |
+
}
|
197 |
+
return $this->_miscConfig;
|
198 |
+
}
|
199 |
+
|
200 |
+
/**
|
201 |
+
* Get uploader general settings
|
202 |
+
*
|
203 |
+
* @return Mage_Uploader_Model_Config_Uploader
|
204 |
+
*/
|
205 |
+
public function getUploaderConfig()
|
206 |
+
{
|
207 |
+
if (is_null($this->_uploaderConfig)) {
|
208 |
+
$this->_uploaderConfig = Mage::getModel('uploader/config_uploader');
|
209 |
+
}
|
210 |
+
return $this->_uploaderConfig;
|
211 |
+
}
|
212 |
+
|
213 |
+
/**
|
214 |
+
* Get browse button settings
|
215 |
+
*
|
216 |
+
* @return Mage_Uploader_Model_Config_Browsebutton
|
217 |
+
*/
|
218 |
+
public function getButtonConfig()
|
219 |
+
{
|
220 |
+
if (is_null($this->_browseButtonConfig)) {
|
221 |
+
$this->_browseButtonConfig = Mage::getModel('uploader/config_browsebutton');
|
222 |
+
}
|
223 |
+
return $this->_browseButtonConfig;
|
224 |
+
}
|
225 |
+
|
226 |
+
/**
|
227 |
+
* Get button unique id
|
228 |
+
*
|
229 |
+
* @param string $suffix
|
230 |
+
* @return string
|
231 |
+
*/
|
232 |
+
public function getElementId($suffix)
|
233 |
+
{
|
234 |
+
return $this->getHtmlId() . '-' . $suffix;
|
235 |
+
}
|
236 |
+
|
237 |
+
/**
|
238 |
+
* Prepare actual elements ids from suffixes
|
239 |
+
*
|
240 |
+
* @param array $targets $type => array($idsSuffixes)
|
241 |
+
* @return array $type => array($htmlIds)
|
242 |
+
*/
|
243 |
+
protected function _prepareElementsIds($targets)
|
244 |
+
{
|
245 |
+
return array_map(array($this, 'getElementId'), array_unique(array_values($targets)));
|
246 |
+
}
|
247 |
+
}
|
app/code/core/Mage/Uploader/Block/Multiple.php
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Uploader
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
class Mage_Uploader_Block_Multiple extends Mage_Uploader_Block_Abstract
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
*
|
31 |
+
* Default upload button ID suffix
|
32 |
+
*/
|
33 |
+
const DEFAULT_UPLOAD_BUTTON_ID_SUFFIX = 'upload';
|
34 |
+
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Prepare layout, create upload button
|
38 |
+
*
|
39 |
+
* @return Mage_Uploader_Block_Multiple
|
40 |
+
*/
|
41 |
+
protected function _prepareLayout()
|
42 |
+
{
|
43 |
+
parent::_prepareLayout();
|
44 |
+
|
45 |
+
$this->setChild(
|
46 |
+
'upload_button',
|
47 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
48 |
+
->addData(array(
|
49 |
+
'id' => $this->getElementId(self::DEFAULT_UPLOAD_BUTTON_ID_SUFFIX),
|
50 |
+
'label' => Mage::helper('uploader')->__('Upload Files'),
|
51 |
+
'type' => 'button',
|
52 |
+
))
|
53 |
+
);
|
54 |
+
|
55 |
+
$this->_addElementIdsMapping(array(
|
56 |
+
'upload' => $this->_prepareElementsIds(array(self::DEFAULT_UPLOAD_BUTTON_ID_SUFFIX))
|
57 |
+
));
|
58 |
+
|
59 |
+
return $this;
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Get upload button html
|
64 |
+
*
|
65 |
+
* @return string
|
66 |
+
*/
|
67 |
+
public function getUploadButtonHtml()
|
68 |
+
{
|
69 |
+
return $this->getChildHtml('upload_button');
|
70 |
+
}
|
71 |
+
}
|
app/code/core/Mage/Uploader/Block/Single.php
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Uploader
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
class Mage_Uploader_Block_Single extends Mage_Uploader_Block_Abstract
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* Prepare layout, change button and set front-end element ids mapping
|
31 |
+
*
|
32 |
+
* @return Mage_Core_Block_Abstract
|
33 |
+
*/
|
34 |
+
protected function _prepareLayout()
|
35 |
+
{
|
36 |
+
parent::_prepareLayout();
|
37 |
+
$this->getChild('browse_button')->setLabel(Mage::helper('uploader')->__('...'));
|
38 |
+
|
39 |
+
return $this;
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Constructor for single uploader block
|
44 |
+
*/
|
45 |
+
public function __construct()
|
46 |
+
{
|
47 |
+
parent::__construct();
|
48 |
+
|
49 |
+
$this->getUploaderConfig()->setSingleFile(true);
|
50 |
+
$this->getButtonConfig()->setSingleFile(true);
|
51 |
+
}
|
52 |
+
}
|
app/code/core/Mage/Uploader/Helper/Data.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Uploader
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Uploader data helper
|
29 |
+
*
|
30 |
+
* Class Mage_Uploader_Helper_Data
|
31 |
+
*/
|
32 |
+
class Mage_Uploader_Helper_Data extends Mage_Core_Helper_Abstract
|
33 |
+
{
|
34 |
+
|
35 |
+
}
|
app/code/core/Mage/Uploader/Helper/File.php
ADDED
@@ -0,0 +1,758 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Uploader
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* File Helper
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Uploader
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
|
35 |
+
class Mage_Uploader_Helper_File extends Mage_Core_Helper_Abstract
|
36 |
+
{
|
37 |
+
/**
|
38 |
+
* List of pre-defined MIME types
|
39 |
+
*
|
40 |
+
* @var array
|
41 |
+
*/
|
42 |
+
protected $_mimeTypes =
|
43 |
+
array(
|
44 |
+
'x123' => 'application/vnd.lotus-1-2-3',
|
45 |
+
'x3dml' => 'text/vnd.in3d.3dml',
|
46 |
+
'x3g2' => 'video/3gpp2',
|
47 |
+
'x3gp' => 'video/3gpp',
|
48 |
+
'xace' => 'application/x-ace-compressed',
|
49 |
+
'xacu' => 'application/vnd.acucobol',
|
50 |
+
'xaep' => 'application/vnd.audiograph',
|
51 |
+
'xai' => 'application/postscript',
|
52 |
+
'xaif' => 'audio/x-aiff',
|
53 |
+
|
54 |
+
'xaifc' => 'audio/x-aiff',
|
55 |
+
'xaiff' => 'audio/x-aiff',
|
56 |
+
'xami' => 'application/vnd.amiga.ami',
|
57 |
+
'xapr' => 'application/vnd.lotus-approach',
|
58 |
+
'xasf' => 'video/x-ms-asf',
|
59 |
+
'xaso' => 'application/vnd.accpac.simply.aso',
|
60 |
+
'xasx' => 'video/x-ms-asf',
|
61 |
+
'xatom' => 'application/atom+xml',
|
62 |
+
'xatomcat' => 'application/atomcat+xml',
|
63 |
+
|
64 |
+
'xatomsvc' => 'application/atomsvc+xml',
|
65 |
+
'xatx' => 'application/vnd.antix.game-component',
|
66 |
+
'xau' => 'audio/basic',
|
67 |
+
'xavi' => 'video/x-msvideo',
|
68 |
+
'xbat' => 'application/x-msdownload',
|
69 |
+
'xbcpio' => 'application/x-bcpio',
|
70 |
+
'xbdm' => 'application/vnd.syncml.dm+wbxml',
|
71 |
+
'xbh2' => 'application/vnd.fujitsu.oasysprs',
|
72 |
+
'xbmi' => 'application/vnd.bmi',
|
73 |
+
|
74 |
+
'xbmp' => 'image/bmp',
|
75 |
+
'xbox' => 'application/vnd.previewsystems.box',
|
76 |
+
'xboz' => 'application/x-bzip2',
|
77 |
+
'xbtif' => 'image/prs.btif',
|
78 |
+
'xbz' => 'application/x-bzip',
|
79 |
+
'xbz2' => 'application/x-bzip2',
|
80 |
+
'xcab' => 'application/vnd.ms-cab-compressed',
|
81 |
+
'xccxml' => 'application/ccxml+xml',
|
82 |
+
'xcdbcmsg' => 'application/vnd.contact.cmsg',
|
83 |
+
|
84 |
+
'xcdkey' => 'application/vnd.mediastation.cdkey',
|
85 |
+
'xcdx' => 'chemical/x-cdx',
|
86 |
+
'xcdxml' => 'application/vnd.chemdraw+xml',
|
87 |
+
'xcdy' => 'application/vnd.cinderella',
|
88 |
+
'xcer' => 'application/pkix-cert',
|
89 |
+
'xcgm' => 'image/cgm',
|
90 |
+
'xchat' => 'application/x-chat',
|
91 |
+
'xchm' => 'application/vnd.ms-htmlhelp',
|
92 |
+
'xchrt' => 'application/vnd.kde.kchart',
|
93 |
+
|
94 |
+
'xcif' => 'chemical/x-cif',
|
95 |
+
'xcii' => 'application/vnd.anser-web-certificate-issue-initiation',
|
96 |
+
'xcil' => 'application/vnd.ms-artgalry',
|
97 |
+
'xcla' => 'application/vnd.claymore',
|
98 |
+
'xclkk' => 'application/vnd.crick.clicker.keyboard',
|
99 |
+
'xclkp' => 'application/vnd.crick.clicker.palette',
|
100 |
+
'xclkt' => 'application/vnd.crick.clicker.template',
|
101 |
+
'xclkw' => 'application/vnd.crick.clicker.wordbank',
|
102 |
+
'xclkx' => 'application/vnd.crick.clicker',
|
103 |
+
|
104 |
+
'xclp' => 'application/x-msclip',
|
105 |
+
'xcmc' => 'application/vnd.cosmocaller',
|
106 |
+
'xcmdf' => 'chemical/x-cmdf',
|
107 |
+
'xcml' => 'chemical/x-cml',
|
108 |
+
'xcmp' => 'application/vnd.yellowriver-custom-menu',
|
109 |
+
'xcmx' => 'image/x-cmx',
|
110 |
+
'xcom' => 'application/x-msdownload',
|
111 |
+
'xconf' => 'text/plain',
|
112 |
+
'xcpio' => 'application/x-cpio',
|
113 |
+
|
114 |
+
'xcpt' => 'application/mac-compactpro',
|
115 |
+
'xcrd' => 'application/x-mscardfile',
|
116 |
+
'xcrl' => 'application/pkix-crl',
|
117 |
+
'xcrt' => 'application/x-x509-ca-cert',
|
118 |
+
'xcsh' => 'application/x-csh',
|
119 |
+
'xcsml' => 'chemical/x-csml',
|
120 |
+
'xcss' => 'text/css',
|
121 |
+
'xcsv' => 'text/csv',
|
122 |
+
'xcurl' => 'application/vnd.curl',
|
123 |
+
|
124 |
+
'xcww' => 'application/prs.cww',
|
125 |
+
'xdaf' => 'application/vnd.mobius.daf',
|
126 |
+
'xdavmount' => 'application/davmount+xml',
|
127 |
+
'xdd2' => 'application/vnd.oma.dd2+xml',
|
128 |
+
'xddd' => 'application/vnd.fujixerox.ddd',
|
129 |
+
'xdef' => 'text/plain',
|
130 |
+
'xder' => 'application/x-x509-ca-cert',
|
131 |
+
'xdfac' => 'application/vnd.dreamfactory',
|
132 |
+
'xdis' => 'application/vnd.mobius.dis',
|
133 |
+
|
134 |
+
'xdjv' => 'image/vnd.djvu',
|
135 |
+
'xdjvu' => 'image/vnd.djvu',
|
136 |
+
'xdll' => 'application/x-msdownload',
|
137 |
+
'xdna' => 'application/vnd.dna',
|
138 |
+
'xdoc' => 'application/msword',
|
139 |
+
'xdot' => 'application/msword',
|
140 |
+
'xdp' => 'application/vnd.osgi.dp',
|
141 |
+
'xdpg' => 'application/vnd.dpgraph',
|
142 |
+
'xdsc' => 'text/prs.lines.tag',
|
143 |
+
|
144 |
+
'xdtd' => 'application/xml-dtd',
|
145 |
+
'xdvi' => 'application/x-dvi',
|
146 |
+
'xdwf' => 'model/vnd.dwf',
|
147 |
+
'xdwg' => 'image/vnd.dwg',
|
148 |
+
'xdxf' => 'image/vnd.dxf',
|
149 |
+
'xdxp' => 'application/vnd.spotfire.dxp',
|
150 |
+
'xecelp4800' => 'audio/vnd.nuera.ecelp4800',
|
151 |
+
'xecelp7470' => 'audio/vnd.nuera.ecelp7470',
|
152 |
+
'xecelp9600' => 'audio/vnd.nuera.ecelp9600',
|
153 |
+
|
154 |
+
'xecma' => 'application/ecmascript',
|
155 |
+
'xedm' => 'application/vnd.novadigm.edm',
|
156 |
+
'xedx' => 'application/vnd.novadigm.edx',
|
157 |
+
'xefif' => 'application/vnd.picsel',
|
158 |
+
'xei6' => 'application/vnd.pg.osasli',
|
159 |
+
'xeml' => 'message/rfc822',
|
160 |
+
'xeol' => 'audio/vnd.digital-winds',
|
161 |
+
'xeot' => 'application/vnd.ms-fontobject',
|
162 |
+
'xeps' => 'application/postscript',
|
163 |
+
|
164 |
+
'xesf' => 'application/vnd.epson.esf',
|
165 |
+
'xetx' => 'text/x-setext',
|
166 |
+
'xexe' => 'application/x-msdownload',
|
167 |
+
'xext' => 'application/vnd.novadigm.ext',
|
168 |
+
'xez' => 'application/andrew-inset',
|
169 |
+
'xez2' => 'application/vnd.ezpix-album',
|
170 |
+
'xez3' => 'application/vnd.ezpix-package',
|
171 |
+
'xfbs' => 'image/vnd.fastbidsheet',
|
172 |
+
'xfdf' => 'application/vnd.fdf',
|
173 |
+
|
174 |
+
'xfe_launch' => 'application/vnd.denovo.fcselayout-link',
|
175 |
+
'xfg5' => 'application/vnd.fujitsu.oasysgp',
|
176 |
+
'xfli' => 'video/x-fli',
|
177 |
+
'xflo' => 'application/vnd.micrografx.flo',
|
178 |
+
'xflw' => 'application/vnd.kde.kivio',
|
179 |
+
'xflx' => 'text/vnd.fmi.flexstor',
|
180 |
+
'xfly' => 'text/vnd.fly',
|
181 |
+
'xfnc' => 'application/vnd.frogans.fnc',
|
182 |
+
'xfpx' => 'image/vnd.fpx',
|
183 |
+
|
184 |
+
'xfsc' => 'application/vnd.fsc.weblaunch',
|
185 |
+
'xfst' => 'image/vnd.fst',
|
186 |
+
'xftc' => 'application/vnd.fluxtime.clip',
|
187 |
+
'xfti' => 'application/vnd.anser-web-funds-transfer-initiation',
|
188 |
+
'xfvt' => 'video/vnd.fvt',
|
189 |
+
'xfzs' => 'application/vnd.fuzzysheet',
|
190 |
+
'xg3' => 'image/g3fax',
|
191 |
+
'xgac' => 'application/vnd.groove-account',
|
192 |
+
'xgdl' => 'model/vnd.gdl',
|
193 |
+
|
194 |
+
'xghf' => 'application/vnd.groove-help',
|
195 |
+
'xgif' => 'image/gif',
|
196 |
+
'xgim' => 'application/vnd.groove-identity-message',
|
197 |
+
'xgph' => 'application/vnd.flographit',
|
198 |
+
'xgram' => 'application/srgs',
|
199 |
+
'xgrv' => 'application/vnd.groove-injector',
|
200 |
+
'xgrxml' => 'application/srgs+xml',
|
201 |
+
'xgtar' => 'application/x-gtar',
|
202 |
+
'xgtm' => 'application/vnd.groove-tool-message',
|
203 |
+
|
204 |
+
'xsvg' => 'image/svg+xml',
|
205 |
+
|
206 |
+
'xgtw' => 'model/vnd.gtw',
|
207 |
+
'xh261' => 'video/h261',
|
208 |
+
'xh263' => 'video/h263',
|
209 |
+
'xh264' => 'video/h264',
|
210 |
+
'xhbci' => 'application/vnd.hbci',
|
211 |
+
'xhdf' => 'application/x-hdf',
|
212 |
+
'xhlp' => 'application/winhlp',
|
213 |
+
'xhpgl' => 'application/vnd.hp-hpgl',
|
214 |
+
'xhpid' => 'application/vnd.hp-hpid',
|
215 |
+
|
216 |
+
'xhps' => 'application/vnd.hp-hps',
|
217 |
+
'xhqx' => 'application/mac-binhex40',
|
218 |
+
'xhtke' => 'application/vnd.kenameaapp',
|
219 |
+
'xhtm' => 'text/html',
|
220 |
+
'xhtml' => 'text/html',
|
221 |
+
'xhvd' => 'application/vnd.yamaha.hv-dic',
|
222 |
+
'xhvp' => 'application/vnd.yamaha.hv-voice',
|
223 |
+
'xhvs' => 'application/vnd.yamaha.hv-script',
|
224 |
+
'xice' => '#x-conference/x-cooltalk',
|
225 |
+
|
226 |
+
'xico' => 'image/x-icon',
|
227 |
+
'xics' => 'text/calendar',
|
228 |
+
'xief' => 'image/ief',
|
229 |
+
'xifb' => 'text/calendar',
|
230 |
+
'xifm' => 'application/vnd.shana.informed.formdata',
|
231 |
+
'xigl' => 'application/vnd.igloader',
|
232 |
+
'xigx' => 'application/vnd.micrografx.igx',
|
233 |
+
'xiif' => 'application/vnd.shana.informed.interchange',
|
234 |
+
'ximp' => 'application/vnd.accpac.simply.imp',
|
235 |
+
|
236 |
+
'xims' => 'application/vnd.ms-ims',
|
237 |
+
'xin' => 'text/plain',
|
238 |
+
'xipk' => 'application/vnd.shana.informed.package',
|
239 |
+
'xirm' => 'application/vnd.ibm.rights-management',
|
240 |
+
'xirp' => 'application/vnd.irepository.package+xml',
|
241 |
+
'xitp' => 'application/vnd.shana.informed.formtemplate',
|
242 |
+
'xivp' => 'application/vnd.immervision-ivp',
|
243 |
+
'xivu' => 'application/vnd.immervision-ivu',
|
244 |
+
'xjad' => 'text/vnd.sun.j2me.app-descriptor',
|
245 |
+
|
246 |
+
'xjam' => 'application/vnd.jam',
|
247 |
+
'xjava' => 'text/x-java-source',
|
248 |
+
'xjisp' => 'application/vnd.jisp',
|
249 |
+
'xjlt' => 'application/vnd.hp-jlyt',
|
250 |
+
'xjoda' => 'application/vnd.joost.joda-archive',
|
251 |
+
'xjpe' => 'image/jpeg',
|
252 |
+
'xjpeg' => 'image/jpeg',
|
253 |
+
'xjpg' => 'image/jpeg',
|
254 |
+
'xjpgm' => 'video/jpm',
|
255 |
+
|
256 |
+
'xjpgv' => 'video/jpeg',
|
257 |
+
'xjpm' => 'video/jpm',
|
258 |
+
'xjs' => 'application/javascript',
|
259 |
+
'xjson' => 'application/json',
|
260 |
+
'xkar' => 'audio/midi',
|
261 |
+
'xkarbon' => 'application/vnd.kde.karbon',
|
262 |
+
'xkfo' => 'application/vnd.kde.kformula',
|
263 |
+
'xkia' => 'application/vnd.kidspiration',
|
264 |
+
'xkml' => 'application/vnd.google-earth.kml+xml',
|
265 |
+
|
266 |
+
'xkmz' => 'application/vnd.google-earth.kmz',
|
267 |
+
'xkon' => 'application/vnd.kde.kontour',
|
268 |
+
'xksp' => 'application/vnd.kde.kspread',
|
269 |
+
'xlatex' => 'application/x-latex',
|
270 |
+
'xlbd' => 'application/vnd.llamagraphics.life-balance.desktop',
|
271 |
+
'xlbe' => 'application/vnd.llamagraphics.life-balance.exchange+xml',
|
272 |
+
'xles' => 'application/vnd.hhe.lesson-player',
|
273 |
+
'xlist' => 'text/plain',
|
274 |
+
'xlog' => 'text/plain',
|
275 |
+
|
276 |
+
'xlrm' => 'application/vnd.ms-lrm',
|
277 |
+
'xltf' => 'application/vnd.frogans.ltf',
|
278 |
+
'xlvp' => 'audio/vnd.lucent.voice',
|
279 |
+
'xlwp' => 'application/vnd.lotus-wordpro',
|
280 |
+
'xm13' => 'application/x-msmediaview',
|
281 |
+
'xm14' => 'application/x-msmediaview',
|
282 |
+
'xm1v' => 'video/mpeg',
|
283 |
+
'xm2a' => 'audio/mpeg',
|
284 |
+
'xm3a' => 'audio/mpeg',
|
285 |
+
|
286 |
+
'xm3u' => 'audio/x-mpegurl',
|
287 |
+
'xm4u' => 'video/vnd.mpegurl',
|
288 |
+
'xmag' => 'application/vnd.ecowin.chart',
|
289 |
+
'xmathml' => 'application/mathml+xml',
|
290 |
+
'xmbk' => 'application/vnd.mobius.mbk',
|
291 |
+
'xmbox' => 'application/mbox',
|
292 |
+
'xmc1' => 'application/vnd.medcalcdata',
|
293 |
+
'xmcd' => 'application/vnd.mcd',
|
294 |
+
'xmdb' => 'application/x-msaccess',
|
295 |
+
|
296 |
+
'xmdi' => 'image/vnd.ms-modi',
|
297 |
+
'xmesh' => 'model/mesh',
|
298 |
+
'xmfm' => 'application/vnd.mfmp',
|
299 |
+
'xmgz' => 'application/vnd.proteus.magazine',
|
300 |
+
'xmid' => 'audio/midi',
|
301 |
+
'xmidi' => 'audio/midi',
|
302 |
+
'xmif' => 'application/vnd.mif',
|
303 |
+
'xmime' => 'message/rfc822',
|
304 |
+
'xmj2' => 'video/mj2',
|
305 |
+
|
306 |
+
'xmjp2' => 'video/mj2',
|
307 |
+
'xmlp' => 'application/vnd.dolby.mlp',
|
308 |
+
'xmmd' => 'application/vnd.chipnuts.karaoke-mmd',
|
309 |
+
'xmmf' => 'application/vnd.smaf',
|
310 |
+
'xmmr' => 'image/vnd.fujixerox.edmics-mmr',
|
311 |
+
'xmny' => 'application/x-msmoney',
|
312 |
+
'xmov' => 'video/quicktime',
|
313 |
+
'xmovie' => 'video/x-sgi-movie',
|
314 |
+
'xmp2' => 'audio/mpeg',
|
315 |
+
|
316 |
+
'xmp2a' => 'audio/mpeg',
|
317 |
+
'xmp3' => 'audio/mpeg',
|
318 |
+
'xmp4' => 'video/mp4',
|
319 |
+
'xmp4a' => 'audio/mp4',
|
320 |
+
'xmp4s' => 'application/mp4',
|
321 |
+
'xmp4v' => 'video/mp4',
|
322 |
+
'xmpc' => 'application/vnd.mophun.certificate',
|
323 |
+
'xmpe' => 'video/mpeg',
|
324 |
+
'xmpeg' => 'video/mpeg',
|
325 |
+
|
326 |
+
'xmpg' => 'video/mpeg',
|
327 |
+
'xmpg4' => 'video/mp4',
|
328 |
+
'xmpga' => 'audio/mpeg',
|
329 |
+
'xmpkg' => 'application/vnd.apple.installer+xml',
|
330 |
+
'xmpm' => 'application/vnd.blueice.multipass',
|
331 |
+
'xmpn' => 'application/vnd.mophun.application',
|
332 |
+
'xmpp' => 'application/vnd.ms-project',
|
333 |
+
'xmpt' => 'application/vnd.ms-project',
|
334 |
+
'xmpy' => 'application/vnd.ibm.minipay',
|
335 |
+
|
336 |
+
'xmqy' => 'application/vnd.mobius.mqy',
|
337 |
+
'xmrc' => 'application/marc',
|
338 |
+
'xmscml' => 'application/mediaservercontrol+xml',
|
339 |
+
'xmseq' => 'application/vnd.mseq',
|
340 |
+
'xmsf' => 'application/vnd.epson.msf',
|
341 |
+
'xmsh' => 'model/mesh',
|
342 |
+
'xmsi' => 'application/x-msdownload',
|
343 |
+
'xmsl' => 'application/vnd.mobius.msl',
|
344 |
+
'xmsty' => 'application/vnd.muvee.style',
|
345 |
+
|
346 |
+
'xmts' => 'model/vnd.mts',
|
347 |
+
'xmus' => 'application/vnd.musician',
|
348 |
+
'xmvb' => 'application/x-msmediaview',
|
349 |
+
'xmwf' => 'application/vnd.mfer',
|
350 |
+
'xmxf' => 'application/mxf',
|
351 |
+
'xmxl' => 'application/vnd.recordare.musicxml',
|
352 |
+
'xmxml' => 'application/xv+xml',
|
353 |
+
'xmxs' => 'application/vnd.triscape.mxs',
|
354 |
+
'xmxu' => 'video/vnd.mpegurl',
|
355 |
+
|
356 |
+
'xn-gage' => 'application/vnd.nokia.n-gage.symbian.install',
|
357 |
+
'xngdat' => 'application/vnd.nokia.n-gage.data',
|
358 |
+
'xnlu' => 'application/vnd.neurolanguage.nlu',
|
359 |
+
'xnml' => 'application/vnd.enliven',
|
360 |
+
'xnnd' => 'application/vnd.noblenet-directory',
|
361 |
+
'xnns' => 'application/vnd.noblenet-sealer',
|
362 |
+
'xnnw' => 'application/vnd.noblenet-web',
|
363 |
+
'xnpx' => 'image/vnd.net-fpx',
|
364 |
+
'xnsf' => 'application/vnd.lotus-notes',
|
365 |
+
|
366 |
+
'xoa2' => 'application/vnd.fujitsu.oasys2',
|
367 |
+
'xoa3' => 'application/vnd.fujitsu.oasys3',
|
368 |
+
'xoas' => 'application/vnd.fujitsu.oasys',
|
369 |
+
'xobd' => 'application/x-msbinder',
|
370 |
+
'xoda' => 'application/oda',
|
371 |
+
'xodc' => 'application/vnd.oasis.opendocument.chart',
|
372 |
+
'xodf' => 'application/vnd.oasis.opendocument.formula',
|
373 |
+
'xodg' => 'application/vnd.oasis.opendocument.graphics',
|
374 |
+
'xodi' => 'application/vnd.oasis.opendocument.image',
|
375 |
+
|
376 |
+
'xodp' => 'application/vnd.oasis.opendocument.presentation',
|
377 |
+
'xods' => 'application/vnd.oasis.opendocument.spreadsheet',
|
378 |
+
'xodt' => 'application/vnd.oasis.opendocument.text',
|
379 |
+
'xogg' => 'application/ogg',
|
380 |
+
'xoprc' => 'application/vnd.palm',
|
381 |
+
'xorg' => 'application/vnd.lotus-organizer',
|
382 |
+
'xotc' => 'application/vnd.oasis.opendocument.chart-template',
|
383 |
+
'xotf' => 'application/vnd.oasis.opendocument.formula-template',
|
384 |
+
'xotg' => 'application/vnd.oasis.opendocument.graphics-template',
|
385 |
+
|
386 |
+
'xoth' => 'application/vnd.oasis.opendocument.text-web',
|
387 |
+
'xoti' => 'application/vnd.oasis.opendocument.image-template',
|
388 |
+
'xotm' => 'application/vnd.oasis.opendocument.text-master',
|
389 |
+
'xots' => 'application/vnd.oasis.opendocument.spreadsheet-template',
|
390 |
+
'xott' => 'application/vnd.oasis.opendocument.text-template',
|
391 |
+
'xoxt' => 'application/vnd.openofficeorg.extension',
|
392 |
+
'xp10' => 'application/pkcs10',
|
393 |
+
'xp7r' => 'application/x-pkcs7-certreqresp',
|
394 |
+
'xp7s' => 'application/pkcs7-signature',
|
395 |
+
|
396 |
+
'xpbd' => 'application/vnd.powerbuilder6',
|
397 |
+
'xpbm' => 'image/x-portable-bitmap',
|
398 |
+
'xpcl' => 'application/vnd.hp-pcl',
|
399 |
+
'xpclxl' => 'application/vnd.hp-pclxl',
|
400 |
+
'xpct' => 'image/x-pict',
|
401 |
+
'xpcx' => 'image/x-pcx',
|
402 |
+
'xpdb' => 'chemical/x-pdb',
|
403 |
+
'xpdf' => 'application/pdf',
|
404 |
+
'xpfr' => 'application/font-tdpfr',
|
405 |
+
|
406 |
+
'xpgm' => 'image/x-portable-graymap',
|
407 |
+
'xpgn' => 'application/x-chess-pgn',
|
408 |
+
'xpgp' => 'application/pgp-encrypted',
|
409 |
+
'xpic' => 'image/x-pict',
|
410 |
+
'xpki' => 'application/pkixcmp',
|
411 |
+
'xpkipath' => 'application/pkix-pkipath',
|
412 |
+
'xplb' => 'application/vnd.3gpp.pic-bw-large',
|
413 |
+
'xplc' => 'application/vnd.mobius.plc',
|
414 |
+
'xplf' => 'application/vnd.pocketlearn',
|
415 |
+
|
416 |
+
'xpls' => 'application/pls+xml',
|
417 |
+
'xpml' => 'application/vnd.ctc-posml',
|
418 |
+
'xpng' => 'image/png',
|
419 |
+
'xpnm' => 'image/x-portable-anymap',
|
420 |
+
'xportpkg' => 'application/vnd.macports.portpkg',
|
421 |
+
'xpot' => 'application/vnd.ms-powerpoint',
|
422 |
+
'xppd' => 'application/vnd.cups-ppd',
|
423 |
+
'xppm' => 'image/x-portable-pixmap',
|
424 |
+
'xpps' => 'application/vnd.ms-powerpoint',
|
425 |
+
|
426 |
+
'xppt' => 'application/vnd.ms-powerpoint',
|
427 |
+
'xpqa' => 'application/vnd.palm',
|
428 |
+
'xprc' => 'application/vnd.palm',
|
429 |
+
'xpre' => 'application/vnd.lotus-freelance',
|
430 |
+
'xprf' => 'application/pics-rules',
|
431 |
+
'xps' => 'application/postscript',
|
432 |
+
'xpsb' => 'application/vnd.3gpp.pic-bw-small',
|
433 |
+
'xpsd' => 'image/vnd.adobe.photoshop',
|
434 |
+
'xptid' => 'application/vnd.pvi.ptid1',
|
435 |
+
|
436 |
+
'xpub' => 'application/x-mspublisher',
|
437 |
+
'xpvb' => 'application/vnd.3gpp.pic-bw-var',
|
438 |
+
'xpwn' => 'application/vnd.3m.post-it-notes',
|
439 |
+
'xqam' => 'application/vnd.epson.quickanime',
|
440 |
+
'xqbo' => 'application/vnd.intu.qbo',
|
441 |
+
'xqfx' => 'application/vnd.intu.qfx',
|
442 |
+
'xqps' => 'application/vnd.publishare-delta-tree',
|
443 |
+
'xqt' => 'video/quicktime',
|
444 |
+
'xra' => 'audio/x-pn-realaudio',
|
445 |
+
|
446 |
+
'xram' => 'audio/x-pn-realaudio',
|
447 |
+
'xrar' => 'application/x-rar-compressed',
|
448 |
+
'xras' => 'image/x-cmu-raster',
|
449 |
+
'xrcprofile' => 'application/vnd.ipunplugged.rcprofile',
|
450 |
+
'xrdf' => 'application/rdf+xml',
|
451 |
+
'xrdz' => 'application/vnd.data-vision.rdz',
|
452 |
+
'xrep' => 'application/vnd.businessobjects',
|
453 |
+
'xrgb' => 'image/x-rgb',
|
454 |
+
'xrif' => 'application/reginfo+xml',
|
455 |
+
|
456 |
+
'xrl' => 'application/resource-lists+xml',
|
457 |
+
'xrlc' => 'image/vnd.fujixerox.edmics-rlc',
|
458 |
+
'xrm' => 'application/vnd.rn-realmedia',
|
459 |
+
'xrmi' => 'audio/midi',
|
460 |
+
'xrmp' => 'audio/x-pn-realaudio-plugin',
|
461 |
+
'xrms' => 'application/vnd.jcp.javame.midlet-rms',
|
462 |
+
'xrnc' => 'application/relax-ng-compact-syntax',
|
463 |
+
'xrpss' => 'application/vnd.nokia.radio-presets',
|
464 |
+
'xrpst' => 'application/vnd.nokia.radio-preset',
|
465 |
+
|
466 |
+
'xrq' => 'application/sparql-query',
|
467 |
+
'xrs' => 'application/rls-services+xml',
|
468 |
+
'xrsd' => 'application/rsd+xml',
|
469 |
+
'xrss' => 'application/rss+xml',
|
470 |
+
'xrtf' => 'application/rtf',
|
471 |
+
'xrtx' => 'text/richtext',
|
472 |
+
'xsaf' => 'application/vnd.yamaha.smaf-audio',
|
473 |
+
'xsbml' => 'application/sbml+xml',
|
474 |
+
'xsc' => 'application/vnd.ibm.secure-container',
|
475 |
+
|
476 |
+
'xscd' => 'application/x-msschedule',
|
477 |
+
'xscm' => 'application/vnd.lotus-screencam',
|
478 |
+
'xscq' => 'application/scvp-cv-request',
|
479 |
+
'xscs' => 'application/scvp-cv-response',
|
480 |
+
'xsdp' => 'application/sdp',
|
481 |
+
'xsee' => 'application/vnd.seemail',
|
482 |
+
'xsema' => 'application/vnd.sema',
|
483 |
+
'xsemd' => 'application/vnd.semd',
|
484 |
+
'xsemf' => 'application/vnd.semf',
|
485 |
+
|
486 |
+
'xsetpay' => 'application/set-payment-initiation',
|
487 |
+
'xsetreg' => 'application/set-registration-initiation',
|
488 |
+
'xsfs' => 'application/vnd.spotfire.sfs',
|
489 |
+
'xsgm' => 'text/sgml',
|
490 |
+
'xsgml' => 'text/sgml',
|
491 |
+
'xsh' => 'application/x-sh',
|
492 |
+
'xshar' => 'application/x-shar',
|
493 |
+
'xshf' => 'application/shf+xml',
|
494 |
+
'xsilo' => 'model/mesh',
|
495 |
+
|
496 |
+
'xsit' => 'application/x-stuffit',
|
497 |
+
'xsitx' => 'application/x-stuffitx',
|
498 |
+
'xslt' => 'application/vnd.epson.salt',
|
499 |
+
'xsnd' => 'audio/basic',
|
500 |
+
'xspf' => 'application/vnd.yamaha.smaf-phrase',
|
501 |
+
'xspl' => 'application/x-futuresplash',
|
502 |
+
'xspot' => 'text/vnd.in3d.spot',
|
503 |
+
'xspp' => 'application/scvp-vp-response',
|
504 |
+
'xspq' => 'application/scvp-vp-request',
|
505 |
+
|
506 |
+
'xsrc' => 'application/x-wais-source',
|
507 |
+
'xsrx' => 'application/sparql-results+xml',
|
508 |
+
'xssf' => 'application/vnd.epson.ssf',
|
509 |
+
'xssml' => 'application/ssml+xml',
|
510 |
+
'xstf' => 'application/vnd.wt.stf',
|
511 |
+
'xstk' => 'application/hyperstudio',
|
512 |
+
'xstr' => 'application/vnd.pg.format',
|
513 |
+
'xsus' => 'application/vnd.sus-calendar',
|
514 |
+
'xsusp' => 'application/vnd.sus-calendar',
|
515 |
+
|
516 |
+
'xsv4cpio' => 'application/x-sv4cpio',
|
517 |
+
'xsv4crc' => 'application/x-sv4crc',
|
518 |
+
'xsvd' => 'application/vnd.svd',
|
519 |
+
'xswf' => 'application/x-shockwave-flash',
|
520 |
+
'xtao' => 'application/vnd.tao.intent-module-archive',
|
521 |
+
'xtar' => 'application/x-tar',
|
522 |
+
'xtcap' => 'application/vnd.3gpp2.tcap',
|
523 |
+
'xtcl' => 'application/x-tcl',
|
524 |
+
'xtex' => 'application/x-tex',
|
525 |
+
|
526 |
+
'xtext' => 'text/plain',
|
527 |
+
'xtif' => 'image/tiff',
|
528 |
+
'xtiff' => 'image/tiff',
|
529 |
+
'xtmo' => 'application/vnd.tmobile-livetv',
|
530 |
+
'xtorrent' => 'application/x-bittorrent',
|
531 |
+
'xtpl' => 'application/vnd.groove-tool-template',
|
532 |
+
'xtpt' => 'application/vnd.trid.tpt',
|
533 |
+
'xtra' => 'application/vnd.trueapp',
|
534 |
+
'xtrm' => 'application/x-msterminal',
|
535 |
+
|
536 |
+
'xtsv' => 'text/tab-separated-values',
|
537 |
+
'xtxd' => 'application/vnd.genomatix.tuxedo',
|
538 |
+
'xtxf' => 'application/vnd.mobius.txf',
|
539 |
+
'xtxt' => 'text/plain',
|
540 |
+
'xumj' => 'application/vnd.umajin',
|
541 |
+
'xunityweb' => 'application/vnd.unity',
|
542 |
+
'xuoml' => 'application/vnd.uoml+xml',
|
543 |
+
'xuri' => 'text/uri-list',
|
544 |
+
'xuris' => 'text/uri-list',
|
545 |
+
|
546 |
+
'xurls' => 'text/uri-list',
|
547 |
+
'xustar' => 'application/x-ustar',
|
548 |
+
'xutz' => 'application/vnd.uiq.theme',
|
549 |
+
'xuu' => 'text/x-uuencode',
|
550 |
+
'xvcd' => 'application/x-cdlink',
|
551 |
+
'xvcf' => 'text/x-vcard',
|
552 |
+
'xvcg' => 'application/vnd.groove-vcard',
|
553 |
+
'xvcs' => 'text/x-vcalendar',
|
554 |
+
'xvcx' => 'application/vnd.vcx',
|
555 |
+
|
556 |
+
'xvis' => 'application/vnd.visionary',
|
557 |
+
'xviv' => 'video/vnd.vivo',
|
558 |
+
'xvrml' => 'model/vrml',
|
559 |
+
'xvsd' => 'application/vnd.visio',
|
560 |
+
'xvsf' => 'application/vnd.vsf',
|
561 |
+
'xvss' => 'application/vnd.visio',
|
562 |
+
'xvst' => 'application/vnd.visio',
|
563 |
+
'xvsw' => 'application/vnd.visio',
|
564 |
+
'xvtu' => 'model/vnd.vtu',
|
565 |
+
|
566 |
+
'xvxml' => 'application/voicexml+xml',
|
567 |
+
'xwav' => 'audio/x-wav',
|
568 |
+
'xwax' => 'audio/x-ms-wax',
|
569 |
+
'xwbmp' => 'image/vnd.wap.wbmp',
|
570 |
+
'xwbs' => 'application/vnd.criticaltools.wbs+xml',
|
571 |
+
'xwbxml' => 'application/vnd.wap.wbxml',
|
572 |
+
'xwcm' => 'application/vnd.ms-works',
|
573 |
+
'xwdb' => 'application/vnd.ms-works',
|
574 |
+
'xwks' => 'application/vnd.ms-works',
|
575 |
+
|
576 |
+
'xwm' => 'video/x-ms-wm',
|
577 |
+
'xwma' => 'audio/x-ms-wma',
|
578 |
+
'xwmd' => 'application/x-ms-wmd',
|
579 |
+
'xwmf' => 'application/x-msmetafile',
|
580 |
+
'xwml' => 'text/vnd.wap.wml',
|
581 |
+
'xwmlc' => 'application/vnd.wap.wmlc',
|
582 |
+
'xwmls' => 'text/vnd.wap.wmlscript',
|
583 |
+
'xwmlsc' => 'application/vnd.wap.wmlscriptc',
|
584 |
+
'xwmv' => 'video/x-ms-wmv',
|
585 |
+
|
586 |
+
'xwmx' => 'video/x-ms-wmx',
|
587 |
+
'xwmz' => 'application/x-ms-wmz',
|
588 |
+
'xwpd' => 'application/vnd.wordperfect',
|
589 |
+
'xwpl' => 'application/vnd.ms-wpl',
|
590 |
+
'xwps' => 'application/vnd.ms-works',
|
591 |
+
'xwqd' => 'application/vnd.wqd',
|
592 |
+
'xwri' => 'application/x-mswrite',
|
593 |
+
'xwrl' => 'model/vrml',
|
594 |
+
'xwsdl' => 'application/wsdl+xml',
|
595 |
+
|
596 |
+
'xwspolicy' => 'application/wspolicy+xml',
|
597 |
+
'xwtb' => 'application/vnd.webturbo',
|
598 |
+
'xwvx' => 'video/x-ms-wvx',
|
599 |
+
'xx3d' => 'application/vnd.hzn-3d-crossword',
|
600 |
+
'xxar' => 'application/vnd.xara',
|
601 |
+
'xxbd' => 'application/vnd.fujixerox.docuworks.binder',
|
602 |
+
'xxbm' => 'image/x-xbitmap',
|
603 |
+
'xxdm' => 'application/vnd.syncml.dm+xml',
|
604 |
+
'xxdp' => 'application/vnd.adobe.xdp+xml',
|
605 |
+
|
606 |
+
'xxdw' => 'application/vnd.fujixerox.docuworks',
|
607 |
+
'xxenc' => 'application/xenc+xml',
|
608 |
+
'xxfdf' => 'application/vnd.adobe.xfdf',
|
609 |
+
'xxfdl' => 'application/vnd.xfdl',
|
610 |
+
'xxht' => 'application/xhtml+xml',
|
611 |
+
'xxhtml' => 'application/xhtml+xml',
|
612 |
+
'xxhvml' => 'application/xv+xml',
|
613 |
+
'xxif' => 'image/vnd.xiff',
|
614 |
+
'xxla' => 'application/vnd.ms-excel',
|
615 |
+
|
616 |
+
'xxlc' => 'application/vnd.ms-excel',
|
617 |
+
'xxlm' => 'application/vnd.ms-excel',
|
618 |
+
'xxls' => 'application/vnd.ms-excel',
|
619 |
+
'xxlt' => 'application/vnd.ms-excel',
|
620 |
+
'xxlw' => 'application/vnd.ms-excel',
|
621 |
+
'xxml' => 'application/xml',
|
622 |
+
'xxo' => 'application/vnd.olpc-sugar',
|
623 |
+
'xxop' => 'application/xop+xml',
|
624 |
+
'xxpm' => 'image/x-xpixmap',
|
625 |
+
|
626 |
+
'xxpr' => 'application/vnd.is-xpr',
|
627 |
+
'xxps' => 'application/vnd.ms-xpsdocument',
|
628 |
+
'xxsl' => 'application/xml',
|
629 |
+
'xxslt' => 'application/xslt+xml',
|
630 |
+
'xxsm' => 'application/vnd.syncml+xml',
|
631 |
+
'xxspf' => 'application/xspf+xml',
|
632 |
+
'xxul' => 'application/vnd.mozilla.xul+xml',
|
633 |
+
'xxvm' => 'application/xv+xml',
|
634 |
+
'xxvml' => 'application/xv+xml',
|
635 |
+
|
636 |
+
'xxwd' => 'image/x-xwindowdump',
|
637 |
+
'xxyz' => 'chemical/x-xyz',
|
638 |
+
'xzaz' => 'application/vnd.zzazz.deck+xml',
|
639 |
+
'xzip' => 'application/zip',
|
640 |
+
'xzmm' => 'application/vnd.handheld-entertainment+xml',
|
641 |
+
);
|
642 |
+
|
643 |
+
/**
|
644 |
+
* Extend list of MIME types if needed from config
|
645 |
+
*/
|
646 |
+
public function __construct()
|
647 |
+
{
|
648 |
+
$nodes = Mage::getConfig()->getNode('global/mime/types');
|
649 |
+
if ($nodes) {
|
650 |
+
$nodes = (array)$nodes;
|
651 |
+
foreach ($nodes as $key => $value) {
|
652 |
+
$this->_mimeTypes[$key] = $value;
|
653 |
+
}
|
654 |
+
}
|
655 |
+
}
|
656 |
+
|
657 |
+
/**
|
658 |
+
* Get MIME type by file extension from list of pre-defined MIME types
|
659 |
+
*
|
660 |
+
* @param $ext
|
661 |
+
* @return string
|
662 |
+
*/
|
663 |
+
public function getMimeTypeByExtension($ext)
|
664 |
+
{
|
665 |
+
$type = 'x' . $ext;
|
666 |
+
if (isset($this->_mimeTypes[$type])) {
|
667 |
+
return $this->_mimeTypes[$type];
|
668 |
+
}
|
669 |
+
return 'application/octet-stream';
|
670 |
+
}
|
671 |
+
|
672 |
+
/**
|
673 |
+
* Get all MIME Types
|
674 |
+
*
|
675 |
+
* @return array
|
676 |
+
*/
|
677 |
+
public function getMimeTypes()
|
678 |
+
{
|
679 |
+
return $this->_mimeTypes;
|
680 |
+
}
|
681 |
+
|
682 |
+
/**
|
683 |
+
* Get array of MIME types associated with given file extension
|
684 |
+
*
|
685 |
+
* @param array|string $extensionsList
|
686 |
+
* @return array
|
687 |
+
*/
|
688 |
+
public function getMimeTypeFromExtensionList($extensionsList)
|
689 |
+
{
|
690 |
+
if (is_string($extensionsList)) {
|
691 |
+
$extensionsList = array_map('trim', explode(',', $extensionsList));
|
692 |
+
}
|
693 |
+
|
694 |
+
return array_map(array($this, 'getMimeTypeByExtension'), $extensionsList);
|
695 |
+
}
|
696 |
+
|
697 |
+
/**
|
698 |
+
* Get post_max_size server setting
|
699 |
+
*
|
700 |
+
* @return string
|
701 |
+
*/
|
702 |
+
public function getPostMaxSize()
|
703 |
+
{
|
704 |
+
return ini_get('post_max_size');
|
705 |
+
}
|
706 |
+
|
707 |
+
/**
|
708 |
+
* Get upload_max_filesize server setting
|
709 |
+
*
|
710 |
+
* @return string
|
711 |
+
*/
|
712 |
+
public function getUploadMaxSize()
|
713 |
+
{
|
714 |
+
return ini_get('upload_max_filesize');
|
715 |
+
}
|
716 |
+
|
717 |
+
/**
|
718 |
+
* Get max upload size
|
719 |
+
*
|
720 |
+
* @return mixed
|
721 |
+
*/
|
722 |
+
public function getDataMaxSize()
|
723 |
+
{
|
724 |
+
return min($this->getPostMaxSize(), $this->getUploadMaxSize());
|
725 |
+
}
|
726 |
+
|
727 |
+
/**
|
728 |
+
* Get maximum upload size in bytes
|
729 |
+
*
|
730 |
+
* @return int
|
731 |
+
*/
|
732 |
+
public function getDataMaxSizeInBytes()
|
733 |
+
{
|
734 |
+
$iniSize = $this->getDataMaxSize();
|
735 |
+
$size = substr($iniSize, 0, strlen($iniSize)-1);
|
736 |
+
$parsedSize = 0;
|
737 |
+
switch (strtolower(substr($iniSize, strlen($iniSize)-1))) {
|
738 |
+
case 't':
|
739 |
+
$parsedSize = $size*(1024*1024*1024*1024);
|
740 |
+
break;
|
741 |
+
case 'g':
|
742 |
+
$parsedSize = $size*(1024*1024*1024);
|
743 |
+
break;
|
744 |
+
case 'm':
|
745 |
+
$parsedSize = $size*(1024*1024);
|
746 |
+
break;
|
747 |
+
case 'k':
|
748 |
+
$parsedSize = $size*1024;
|
749 |
+
break;
|
750 |
+
case 'b':
|
751 |
+
default:
|
752 |
+
$parsedSize = $size;
|
753 |
+
break;
|
754 |
+
}
|
755 |
+
return (int)$parsedSize;
|
756 |
+
}
|
757 |
+
|
758 |
+
}
|
app/code/core/Mage/Uploader/Model/Config/Abstract.php
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Uploader
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Uploader Config Instance Abstract Model
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Uploader
|
32 |
+
*/
|
33 |
+
|
34 |
+
abstract class Mage_Uploader_Model_Config_Abstract extends Varien_Object
|
35 |
+
{
|
36 |
+
/**
|
37 |
+
* Get file helper
|
38 |
+
*
|
39 |
+
* @return Mage_Uploader_Helper_File
|
40 |
+
*/
|
41 |
+
protected function _getHelper()
|
42 |
+
{
|
43 |
+
return Mage::helper('uploader/file');
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Set/Get attribute wrapper
|
48 |
+
* Also set data in cameCase for config values
|
49 |
+
*
|
50 |
+
* @param string $method
|
51 |
+
* @param array $args
|
52 |
+
* @return bool|mixed|Varien_Object
|
53 |
+
* @throws Varien_Exception
|
54 |
+
*/
|
55 |
+
public function __call($method, $args)
|
56 |
+
{
|
57 |
+
$key = lcfirst($this->_camelize(substr($method,3)));
|
58 |
+
switch (substr($method, 0, 3)) {
|
59 |
+
case 'get' :
|
60 |
+
$data = $this->getData($key, isset($args[0]) ? $args[0] : null);
|
61 |
+
return $data;
|
62 |
+
|
63 |
+
case 'set' :
|
64 |
+
$result = $this->setData($key, isset($args[0]) ? $args[0] : null);
|
65 |
+
return $result;
|
66 |
+
|
67 |
+
case 'uns' :
|
68 |
+
$result = $this->unsetData($key);
|
69 |
+
return $result;
|
70 |
+
|
71 |
+
case 'has' :
|
72 |
+
return isset($this->_data[$key]);
|
73 |
+
}
|
74 |
+
throw new Varien_Exception("Invalid method ".get_class($this)."::".$method."(".print_r($args,1).")");
|
75 |
+
}
|
76 |
+
}
|
app/code/core/Mage/Uploader/Model/Config/Browsebutton.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Uploader
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Uploader Config Instance Abstract Model
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Uploader
|
32 |
+
*/
|
33 |
+
/**
|
34 |
+
* @method Mage_Uploader_Model_Config_Browsebutton setDomNodes(array $domNodesIds)
|
35 |
+
* Array of element browse buttons ids
|
36 |
+
* @method Mage_Uploader_Model_Config_Browsebutton setIsDirectory(bool $isDirectory)
|
37 |
+
* Pass in true to allow directories to be selected (Google Chrome only)
|
38 |
+
* @method Mage_Uploader_Model_Config_Browsebutton setSingleFile(bool $isSingleFile)
|
39 |
+
* To prevent multiple file uploads set this to true.
|
40 |
+
* Also look at config parameter singleFile (Mage_Uploader_Model_Config_Uploader setSingleFile())
|
41 |
+
* @method Mage_Uploader_Model_Config_Browsebutton setAttributes(array $attributes)
|
42 |
+
* Pass object of keys and values to set custom attributes on input fields.
|
43 |
+
* @see http://www.w3.org/TR/html-markup/input.file.html#input.file-attributes
|
44 |
+
*
|
45 |
+
* Class Mage_Uploader_Model_Config_Browsebutton
|
46 |
+
*/
|
47 |
+
|
48 |
+
class Mage_Uploader_Model_Config_Browsebutton extends Mage_Uploader_Model_Config_Abstract
|
49 |
+
{
|
50 |
+
/**
|
51 |
+
* Set params for browse button
|
52 |
+
*/
|
53 |
+
protected function _construct()
|
54 |
+
{
|
55 |
+
$this->setIsDirectory(false);
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Get MIME types from files extensions
|
60 |
+
*
|
61 |
+
* @param string|array $exts
|
62 |
+
* @return string
|
63 |
+
*/
|
64 |
+
public function getMimeTypesByExtensions($exts)
|
65 |
+
{
|
66 |
+
$mimes = array_unique($this->_getHelper()->getMimeTypeFromExtensionList($exts));
|
67 |
+
|
68 |
+
// Not include general file type
|
69 |
+
unset($mimes['application/octet-stream']);
|
70 |
+
|
71 |
+
return implode(',', $mimes);
|
72 |
+
}
|
73 |
+
}
|
app/code/core/Mage/Uploader/Model/Config/Misc.php
ADDED
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Uploader
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Misc Config Parameters
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Uploader
|
32 |
+
*/
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @method Mage_Uploader_Model_Config_Misc setMaxSizePlural (string $sizePlural) Set plural info about max upload size
|
36 |
+
* @method Mage_Uploader_Model_Config_Misc setMaxSizeInBytes (int $sizeInBytes) Set max upload size in bytes
|
37 |
+
* @method Mage_Uploader_Model_Config_Misc setReplaceBrowseWithRemove (bool $replaceBrowseWithRemove)
|
38 |
+
* Replace browse button with remove
|
39 |
+
*
|
40 |
+
* Class Mage_Uploader_Model_Config_Misc
|
41 |
+
*/
|
42 |
+
class Mage_Uploader_Model_Config_Misc extends Mage_Uploader_Model_Config_Abstract
|
43 |
+
{
|
44 |
+
/**
|
45 |
+
* Prepare misc params
|
46 |
+
*/
|
47 |
+
protected function _construct()
|
48 |
+
{
|
49 |
+
$this
|
50 |
+
->setMaxSizeInBytes($this->_getHelper()->getDataMaxSizeInBytes())
|
51 |
+
->setMaxSizePlural($this->_getHelper()->getDataMaxSize())
|
52 |
+
;
|
53 |
+
}
|
54 |
+
}
|
app/code/core/Mage/Uploader/Model/Config/Uploader.php
ADDED
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Uploader
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Uploader Config Instance Abstract Model
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Uploader
|
32 |
+
*/
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @method Mage_Uploader_Model_Config_Uploader setTarget(string $url)
|
36 |
+
* The target URL for the multipart POST request.
|
37 |
+
* @method Mage_Uploader_Model_Config_Uploader setSingleFile(bool $isSingleFile)
|
38 |
+
* Enable single file upload.
|
39 |
+
* Once one file is uploaded, second file will overtake existing one, first one will be canceled.
|
40 |
+
* @method Mage_Uploader_Model_Config_Uploader setChunkSize(int $chunkSize) The size in bytes of each uploaded chunk of data.
|
41 |
+
* @method Mage_Uploader_Model_Config_Uploader setForceChunkSize(bool $forceChunkSize)
|
42 |
+
* Force all chunks to be less or equal than chunkSize.
|
43 |
+
* @method Mage_Uploader_Model_Config_Uploader setSimultaneousUploads(int $amountOfSimultaneousUploads)
|
44 |
+
* @method Mage_Uploader_Model_Config_Uploader setFileParameterName(string $fileUploadParam)
|
45 |
+
* @method Mage_Uploader_Model_Config_Uploader setQuery(array $additionalQuery)
|
46 |
+
* @method Mage_Uploader_Model_Config_Uploader setHeaders(array $headers)
|
47 |
+
* Extra headers to include in the multipart POST with data.
|
48 |
+
* @method Mage_Uploader_Model_Config_Uploader setWithCredentials(bool $isCORS)
|
49 |
+
* Standard CORS requests do not send or set any cookies by default.
|
50 |
+
* In order to include cookies as part of the request, you need to set the withCredentials property to true.
|
51 |
+
* @method Mage_Uploader_Model_Config_Uploader setMethod(string $sendMethod)
|
52 |
+
* Method to use when POSTing chunks to the server. Defaults to "multipart"
|
53 |
+
* @method Mage_Uploader_Model_Config_Uploader setTestMethod(string $testMethod) Defaults to "GET"
|
54 |
+
* @method Mage_Uploader_Model_Config_Uploader setUploadMethod(string $uploadMethod) Defaults to "POST"
|
55 |
+
* @method Mage_Uploader_Model_Config_Uploader setAllowDuplicateUploads(bool $allowDuplicateUploads)
|
56 |
+
* Once a file is uploaded, allow reupload of the same file. By default, if a file is already uploaded,
|
57 |
+
* it will be skipped unless the file is removed from the existing Flow object.
|
58 |
+
* @method Mage_Uploader_Model_Config_Uploader setPrioritizeFirstAndLastChunk(bool $prioritizeFirstAndLastChunk)
|
59 |
+
* This can be handy if you can determine if a file is valid for your service from only the first or last chunk.
|
60 |
+
* @method Mage_Uploader_Model_Config_Uploader setTestChunks(bool $prioritizeFirstAndLastChunk)
|
61 |
+
* Make a GET request to the server for each chunks to see if it already exists.
|
62 |
+
* @method Mage_Uploader_Model_Config_Uploader setPreprocess(bool $prioritizeFirstAndLastChunk)
|
63 |
+
* Optional function to process each chunk before testing & sending.
|
64 |
+
* @method Mage_Uploader_Model_Config_Uploader setInitFileFn(string $function)
|
65 |
+
* Optional function to initialize the fileObject (js).
|
66 |
+
* @method Mage_Uploader_Model_Config_Uploader setReadFileFn(string $function)
|
67 |
+
* Optional function wrapping reading operation from the original file.
|
68 |
+
* @method Mage_Uploader_Model_Config_Uploader setGenerateUniqueIdentifier(string $function)
|
69 |
+
* Override the function that generates unique identifiers for each file. Defaults to "null"
|
70 |
+
* @method Mage_Uploader_Model_Config_Uploader setMaxChunkRetries(int $maxChunkRetries) Defaults to 0
|
71 |
+
* @method Mage_Uploader_Model_Config_Uploader setChunkRetryInterval(int $chunkRetryInterval) Defaults to "undefined"
|
72 |
+
* @method Mage_Uploader_Model_Config_Uploader setProgressCallbacksInterval(int $progressCallbacksInterval)
|
73 |
+
* @method Mage_Uploader_Model_Config_Uploader setSpeedSmoothingFactor(int $speedSmoothingFactor)
|
74 |
+
* Used for calculating average upload speed. Number from 1 to 0.
|
75 |
+
* Set to 1 and average upload speed wil be equal to current upload speed.
|
76 |
+
* For longer file uploads it is better set this number to 0.02,
|
77 |
+
* because time remaining estimation will be more accurate.
|
78 |
+
* @method Mage_Uploader_Model_Config_Uploader setSuccessStatuses(array $successStatuses)
|
79 |
+
* Response is success if response status is in this list
|
80 |
+
* @method Mage_Uploader_Model_Config_Uploader setPermanentErrors(array $permanentErrors)
|
81 |
+
* Response fails if response status is in this list
|
82 |
+
*
|
83 |
+
* Class Mage_Uploader_Model_Config_Uploader
|
84 |
+
*/
|
85 |
+
class Mage_Uploader_Model_Config_Uploader extends Mage_Uploader_Model_Config_Abstract
|
86 |
+
{
|
87 |
+
/**
|
88 |
+
* Type of upload
|
89 |
+
*/
|
90 |
+
const UPLOAD_TYPE = 'multipart';
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Test chunks on resumable uploads
|
94 |
+
*/
|
95 |
+
const TEST_CHUNKS = false;
|
96 |
+
|
97 |
+
/**
|
98 |
+
* Used for calculating average upload speed.
|
99 |
+
*/
|
100 |
+
const SMOOTH_UPLOAD_FACTOR = 0.02;
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Progress check interval
|
104 |
+
*/
|
105 |
+
const PROGRESS_CALLBACK_INTERVAL = 0;
|
106 |
+
|
107 |
+
/**
|
108 |
+
* Set default values for uploader
|
109 |
+
*/
|
110 |
+
protected function _construct()
|
111 |
+
{
|
112 |
+
$this
|
113 |
+
->setChunkSize($this->_getHelper()->getDataMaxSizeInBytes())
|
114 |
+
->setWithCredentials(false)
|
115 |
+
->setForceChunkSize(false)
|
116 |
+
->setQuery(array(
|
117 |
+
'form_key' => Mage::getSingleton('core/session')->getFormKey()
|
118 |
+
))
|
119 |
+
->setMethod(self::UPLOAD_TYPE)
|
120 |
+
->setAllowDuplicateUploads(true)
|
121 |
+
->setPrioritizeFirstAndLastChunk(false)
|
122 |
+
->setTestChunks(self::TEST_CHUNKS)
|
123 |
+
->setSpeedSmoothingFactor(self::SMOOTH_UPLOAD_FACTOR)
|
124 |
+
->setProgressCallbacksInterval(self::PROGRESS_CALLBACK_INTERVAL)
|
125 |
+
->setSuccessStatuses(array(200, 201, 202))
|
126 |
+
->setPermanentErrors(array(404, 415, 500, 501));
|
127 |
+
}
|
128 |
+
}
|
app/code/core/Mage/Uploader/etc/config.xml
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Magento
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/afl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to license@magento.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
19 |
+
* versions in the future. If you wish to customize Magento for your
|
20 |
+
* needs please refer to http://www.magento.com for more information.
|
21 |
+
*
|
22 |
+
* @category Mage
|
23 |
+
* @package Mage_Uploader
|
24 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
25 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
26 |
+
*/
|
27 |
+
-->
|
28 |
+
<config>
|
29 |
+
<modules>
|
30 |
+
<Mage_Uploader>
|
31 |
+
<version>0.1.0</version>
|
32 |
+
</Mage_Uploader>
|
33 |
+
</modules>
|
34 |
+
<global>
|
35 |
+
<blocks>
|
36 |
+
<uploader>
|
37 |
+
<class>Mage_Uploader_Block</class>
|
38 |
+
</uploader>
|
39 |
+
</blocks>
|
40 |
+
<helpers>
|
41 |
+
<uploader>
|
42 |
+
<class>Mage_Uploader_Helper</class>
|
43 |
+
</uploader>
|
44 |
+
</helpers>
|
45 |
+
<models>
|
46 |
+
<uploader>
|
47 |
+
<class>Mage_Uploader_Model</class>
|
48 |
+
</uploader>
|
49 |
+
</models>
|
50 |
+
</global>
|
51 |
+
<adminhtml>
|
52 |
+
<translate>
|
53 |
+
<modules>
|
54 |
+
<Mage_Uploader>
|
55 |
+
<files>
|
56 |
+
<default>Mage_Uploader.csv</default>
|
57 |
+
</files>
|
58 |
+
</Mage_Uploader>
|
59 |
+
</modules>
|
60 |
+
</translate>
|
61 |
+
</adminhtml>
|
62 |
+
<frontend>
|
63 |
+
<translate>
|
64 |
+
<modules>
|
65 |
+
<Mage_Uploader>
|
66 |
+
<files>
|
67 |
+
<default>Mage_Uploader.csv</default>
|
68 |
+
</files>
|
69 |
+
</Mage_Uploader>
|
70 |
+
</modules>
|
71 |
+
</translate>
|
72 |
+
</frontend>
|
73 |
+
</config>
|
app/code/core/Mage/Uploader/etc/jstranslator.xml
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Magento
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/afl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to license@magento.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
19 |
+
* versions in the future. If you wish to customize Magento for your
|
20 |
+
* needs please refer to http://www.magento.com for more information.
|
21 |
+
*
|
22 |
+
* @category Mage
|
23 |
+
* @package Mage_Uploader
|
24 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
25 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
26 |
+
*/
|
27 |
+
-->
|
28 |
+
<jstranslator>
|
29 |
+
<uploader-exceed_max-1 translate="message" module="uploader">
|
30 |
+
<message>Maximum allowed file size for upload is</message>
|
31 |
+
</uploader-exceed_max-1>
|
32 |
+
<uploader-exceed_max-2 translate="message" module="uploader">
|
33 |
+
<message>Please check your server PHP settings.</message>
|
34 |
+
</uploader-exceed_max-2>
|
35 |
+
<uploader-tab-change-event-confirm translate="message" module="uploader">
|
36 |
+
<message>There are files that were selected but not uploaded yet. After switching to another tab your selections will be lost. Do you wish to continue ?</message>
|
37 |
+
</uploader-tab-change-event-confirm>
|
38 |
+
<uploader-complete-event-text translate="message" module="uploader">
|
39 |
+
<message>Complete</message>
|
40 |
+
</uploader-complete-event-text>
|
41 |
+
<uploader-uploading-progress translate="message" module="uploader">
|
42 |
+
<message>Uploading...</message>
|
43 |
+
</uploader-uploading-progress>
|
44 |
+
</jstranslator>
|
45 |
+
|
app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl.php
CHANGED
@@ -538,8 +538,8 @@ class Mage_Usa_Model_Shipping_Carrier_Dhl
|
|
538 |
$ch = curl_init();
|
539 |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
540 |
curl_setopt($ch, CURLOPT_URL, $url);
|
541 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,
|
542 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,
|
543 |
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
|
544 |
$responseBody = curl_exec($ch);
|
545 |
curl_close($ch);
|
@@ -1037,8 +1037,8 @@ class Mage_Usa_Model_Shipping_Carrier_Dhl
|
|
1037 |
$ch = curl_init();
|
1038 |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
1039 |
curl_setopt($ch, CURLOPT_URL, $url);
|
1040 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,
|
1041 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,
|
1042 |
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
|
1043 |
$responseBody = curl_exec($ch);
|
1044 |
$debugData['result'] = $responseBody;
|
538 |
$ch = curl_init();
|
539 |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
540 |
curl_setopt($ch, CURLOPT_URL, $url);
|
541 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $this->getConfigFlag('verify_peer'));
|
542 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
|
543 |
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
|
544 |
$responseBody = curl_exec($ch);
|
545 |
curl_close($ch);
|
1037 |
$ch = curl_init();
|
1038 |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
1039 |
curl_setopt($ch, CURLOPT_URL, $url);
|
1040 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $this->getConfigFlag('verify_peer'));
|
1041 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
|
1042 |
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
|
1043 |
$responseBody = curl_exec($ch);
|
1044 |
$debugData['result'] = $responseBody;
|
app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl/International.php
CHANGED
@@ -837,7 +837,12 @@ class Mage_Usa_Model_Shipping_Carrier_Dhl_International
|
|
837 |
{
|
838 |
$client = new Varien_Http_Client();
|
839 |
$client->setUri((string)$this->getConfigData('gateway_url'));
|
840 |
-
$client->setConfig(array(
|
|
|
|
|
|
|
|
|
|
|
841 |
$client->setRawData(utf8_encode($request));
|
842 |
return $client->request(Varien_Http_Client::POST)->getBody();
|
843 |
}
|
@@ -1411,7 +1416,12 @@ class Mage_Usa_Model_Shipping_Carrier_Dhl_International
|
|
1411 |
try {
|
1412 |
$client = new Varien_Http_Client();
|
1413 |
$client->setUri((string)$this->getConfigData('gateway_url'));
|
1414 |
-
$client->setConfig(array(
|
|
|
|
|
|
|
|
|
|
|
1415 |
$client->setRawData($request);
|
1416 |
$responseBody = $client->request(Varien_Http_Client::POST)->getBody();
|
1417 |
$debugData['result'] = $responseBody;
|
@@ -1603,7 +1613,12 @@ class Mage_Usa_Model_Shipping_Carrier_Dhl_International
|
|
1603 |
try {
|
1604 |
$client = new Varien_Http_Client();
|
1605 |
$client->setUri((string)$this->getConfigData('gateway_url'));
|
1606 |
-
$client->setConfig(array(
|
|
|
|
|
|
|
|
|
|
|
1607 |
$client->setRawData($request);
|
1608 |
$responseBody = $client->request(Varien_Http_Client::POST)->getBody();
|
1609 |
$debugData['result'] = $responseBody;
|
837 |
{
|
838 |
$client = new Varien_Http_Client();
|
839 |
$client->setUri((string)$this->getConfigData('gateway_url'));
|
840 |
+
$client->setConfig(array(
|
841 |
+
'maxredirects' => 0,
|
842 |
+
'timeout' => 30,
|
843 |
+
'verifypeer' => $this->getConfigFlag('verify_peer'),
|
844 |
+
'verifyhost' => 2,
|
845 |
+
));
|
846 |
$client->setRawData(utf8_encode($request));
|
847 |
return $client->request(Varien_Http_Client::POST)->getBody();
|
848 |
}
|
1416 |
try {
|
1417 |
$client = new Varien_Http_Client();
|
1418 |
$client->setUri((string)$this->getConfigData('gateway_url'));
|
1419 |
+
$client->setConfig(array(
|
1420 |
+
'maxredirects' => 0,
|
1421 |
+
'timeout' => 30,
|
1422 |
+
'verifypeer' => $this->getConfigFlag('verify_peer'),
|
1423 |
+
'verifyhost' => 2,
|
1424 |
+
));
|
1425 |
$client->setRawData($request);
|
1426 |
$responseBody = $client->request(Varien_Http_Client::POST)->getBody();
|
1427 |
$debugData['result'] = $responseBody;
|
1613 |
try {
|
1614 |
$client = new Varien_Http_Client();
|
1615 |
$client->setUri((string)$this->getConfigData('gateway_url'));
|
1616 |
+
$client->setConfig(array(
|
1617 |
+
'maxredirects' => 0,
|
1618 |
+
'timeout' => 30,
|
1619 |
+
'verifypeer' => $this->getConfigFlag('verify_peer'),
|
1620 |
+
'verifyhost' => 2,
|
1621 |
+
));
|
1622 |
$client->setRawData($request);
|
1623 |
$responseBody = $client->request(Varien_Http_Client::POST)->getBody();
|
1624 |
$debugData['result'] = $responseBody;
|
app/code/core/Mage/Usa/Model/Shipping/Carrier/Fedex.php
CHANGED
@@ -604,6 +604,7 @@ class Mage_Usa_Model_Shipping_Carrier_Fedex
|
|
604 |
/**
|
605 |
* Get xml quotes
|
606 |
*
|
|
|
607 |
* @return Mage_Shipping_Model_Rate_Result
|
608 |
*/
|
609 |
protected function _getXmlQuotes()
|
@@ -663,8 +664,8 @@ class Mage_Usa_Model_Shipping_Carrier_Fedex
|
|
663 |
$ch = curl_init();
|
664 |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
665 |
curl_setopt($ch, CURLOPT_URL, $url);
|
666 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,
|
667 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,
|
668 |
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
|
669 |
$responseBody = curl_exec($ch);
|
670 |
curl_close ($ch);
|
604 |
/**
|
605 |
* Get xml quotes
|
606 |
*
|
607 |
+
* @deprecated
|
608 |
* @return Mage_Shipping_Model_Rate_Result
|
609 |
*/
|
610 |
protected function _getXmlQuotes()
|
664 |
$ch = curl_init();
|
665 |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
666 |
curl_setopt($ch, CURLOPT_URL, $url);
|
667 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
|
668 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
|
669 |
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
|
670 |
$responseBody = curl_exec($ch);
|
671 |
curl_close ($ch);
|
app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups.php
CHANGED
@@ -937,7 +937,7 @@ XMLRequest;
|
|
937 |
curl_setopt($ch, CURLOPT_POST, 1);
|
938 |
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlRequest);
|
939 |
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
940 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,
|
941 |
$xmlResponse = curl_exec ($ch);
|
942 |
|
943 |
$debugData['result'] = $xmlResponse;
|
@@ -1578,7 +1578,7 @@ XMLAuth;
|
|
1578 |
curl_setopt($ch, CURLOPT_POST, 1);
|
1579 |
curl_setopt($ch, CURLOPT_POSTFIELDS, $this->_xmlAccessRequest . $xmlRequest->asXML());
|
1580 |
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
1581 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,
|
1582 |
$xmlResponse = curl_exec ($ch);
|
1583 |
|
1584 |
$debugData['result'] = $xmlResponse;
|
@@ -1636,7 +1636,7 @@ XMLAuth;
|
|
1636 |
curl_setopt($ch, CURLOPT_POST, 1);
|
1637 |
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlRequest);
|
1638 |
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
1639 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,
|
1640 |
$xmlResponse = curl_exec($ch);
|
1641 |
if ($xmlResponse === false) {
|
1642 |
throw new Exception(curl_error($ch));
|
937 |
curl_setopt($ch, CURLOPT_POST, 1);
|
938 |
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlRequest);
|
939 |
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
940 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $this->getConfigFlag('verify_peer'));
|
941 |
$xmlResponse = curl_exec ($ch);
|
942 |
|
943 |
$debugData['result'] = $xmlResponse;
|
1578 |
curl_setopt($ch, CURLOPT_POST, 1);
|
1579 |
curl_setopt($ch, CURLOPT_POSTFIELDS, $this->_xmlAccessRequest . $xmlRequest->asXML());
|
1580 |
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
1581 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $this->getConfigFlag('verify_peer'));
|
1582 |
$xmlResponse = curl_exec ($ch);
|
1583 |
|
1584 |
$debugData['result'] = $xmlResponse;
|
1636 |
curl_setopt($ch, CURLOPT_POST, 1);
|
1637 |
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlRequest);
|
1638 |
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
1639 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $this->getConfigFlag('verify_peer'));
|
1640 |
$xmlResponse = curl_exec($ch);
|
1641 |
if ($xmlResponse === false) {
|
1642 |
throw new Exception(curl_error($ch));
|
app/code/core/Mage/Usa/Model/Shipping/Carrier/Usps.php
CHANGED
@@ -539,6 +539,7 @@ class Mage_Usa_Model_Shipping_Carrier_Usps
|
|
539 |
'method' => array(
|
540 |
'0_FCLE' => Mage::helper('usa')->__('First-Class Mail Large Envelope'),
|
541 |
'0_FCL' => Mage::helper('usa')->__('First-Class Mail Letter'),
|
|
|
542 |
'0_FCP' => Mage::helper('usa')->__('First-Class Mail Parcel'),
|
543 |
'0_FCPC' => Mage::helper('usa')->__('First-Class Mail Postcards'),
|
544 |
'1' => Mage::helper('usa')->__('Priority Mail'),
|
@@ -586,6 +587,7 @@ class Mage_Usa_Model_Shipping_Carrier_Usps
|
|
586 |
'62' => Mage::helper('usa')->__('Priority Mail Express Padded Flat Rate Envelope'),
|
587 |
'63' => Mage::helper('usa')->__('Priority Mail Express Padded Flat Rate Envelope Hold For Pickup'),
|
588 |
'64' => Mage::helper('usa')->__('Priority Mail Express Sunday/Holiday Delivery Padded Flat Rate Envelope'),
|
|
|
589 |
'INT_1' => Mage::helper('usa')->__('Priority Mail Express International'),
|
590 |
'INT_2' => Mage::helper('usa')->__('Priority Mail International'),
|
591 |
'INT_4' => Mage::helper('usa')->__('Global Express Guaranteed (GXG)'),
|
@@ -616,6 +618,7 @@ class Mage_Usa_Model_Shipping_Carrier_Usps
|
|
616 |
'service_to_code' => array(
|
617 |
'0_FCLE' => 'First Class',
|
618 |
'0_FCL' => 'First Class',
|
|
|
619 |
'0_FCP' => 'First Class',
|
620 |
'0_FCPC' => 'First Class',
|
621 |
'1' => 'Priority',
|
@@ -663,6 +666,7 @@ class Mage_Usa_Model_Shipping_Carrier_Usps
|
|
663 |
'62' => 'Priority Express',
|
664 |
'63' => 'Priority Express',
|
665 |
'64' => 'Priority Express',
|
|
|
666 |
'INT_1' => 'Priority Express',
|
667 |
'INT_2' => 'Priority',
|
668 |
'INT_4' => 'Priority Express',
|
@@ -694,6 +698,8 @@ class Mage_Usa_Model_Shipping_Carrier_Usps
|
|
694 |
'method_to_code' => array(
|
695 |
'First-Class Mail Large Envelope' => '0_FCLE',
|
696 |
'First-Class Mail Letter' => '0_FCL',
|
|
|
|
|
697 |
'First-Class Mail Parcel' => '0_FCP',
|
698 |
),
|
699 |
|
539 |
'method' => array(
|
540 |
'0_FCLE' => Mage::helper('usa')->__('First-Class Mail Large Envelope'),
|
541 |
'0_FCL' => Mage::helper('usa')->__('First-Class Mail Letter'),
|
542 |
+
'0_FCSL' => Mage::helper('usa')->__('First-Class Mail Stamped Letter'),
|
543 |
'0_FCP' => Mage::helper('usa')->__('First-Class Mail Parcel'),
|
544 |
'0_FCPC' => Mage::helper('usa')->__('First-Class Mail Postcards'),
|
545 |
'1' => Mage::helper('usa')->__('Priority Mail'),
|
587 |
'62' => Mage::helper('usa')->__('Priority Mail Express Padded Flat Rate Envelope'),
|
588 |
'63' => Mage::helper('usa')->__('Priority Mail Express Padded Flat Rate Envelope Hold For Pickup'),
|
589 |
'64' => Mage::helper('usa')->__('Priority Mail Express Sunday/Holiday Delivery Padded Flat Rate Envelope'),
|
590 |
+
'72' => Mage::helper('usa')->__('First-Class Mail Metered Letter'),
|
591 |
'INT_1' => Mage::helper('usa')->__('Priority Mail Express International'),
|
592 |
'INT_2' => Mage::helper('usa')->__('Priority Mail International'),
|
593 |
'INT_4' => Mage::helper('usa')->__('Global Express Guaranteed (GXG)'),
|
618 |
'service_to_code' => array(
|
619 |
'0_FCLE' => 'First Class',
|
620 |
'0_FCL' => 'First Class',
|
621 |
+
'0_FCSL' => 'First Class',
|
622 |
'0_FCP' => 'First Class',
|
623 |
'0_FCPC' => 'First Class',
|
624 |
'1' => 'Priority',
|
666 |
'62' => 'Priority Express',
|
667 |
'63' => 'Priority Express',
|
668 |
'64' => 'Priority Express',
|
669 |
+
'72' => 'First Class',
|
670 |
'INT_1' => 'Priority Express',
|
671 |
'INT_2' => 'Priority',
|
672 |
'INT_4' => 'Priority Express',
|
698 |
'method_to_code' => array(
|
699 |
'First-Class Mail Large Envelope' => '0_FCLE',
|
700 |
'First-Class Mail Letter' => '0_FCL',
|
701 |
+
'First-Class Mail Stamped Letter' => '0_FCSL',
|
702 |
+
'First-Class Mail Metered Letter' => '72',
|
703 |
'First-Class Mail Parcel' => '0_FCP',
|
704 |
),
|
705 |
|
app/code/core/Mage/Usa/etc/config.xml
CHANGED
@@ -114,6 +114,7 @@
|
|
114 |
<dutypaymenttype>R</dutypaymenttype>
|
115 |
<free_method>G</free_method>
|
116 |
<gateway_url>https://eCommerce.airborne.com/ApiLandingTest.asp</gateway_url>
|
|
|
117 |
<id backend_model="adminhtml/system_config_backend_encrypted"/>
|
118 |
<model>usa/shipping_carrier_dhl</model>
|
119 |
<password backend_model="adminhtml/system_config_backend_encrypted"/>
|
@@ -169,6 +170,7 @@
|
|
169 |
<tracking_xml_url>https://onlinetools.ups.com/ups.app/xml/Track</tracking_xml_url>
|
170 |
<shipconfirm_xml_url>https://onlinetools.ups.com/ups.app/xml/ShipConfirm</shipconfirm_xml_url>
|
171 |
<shipaccept_xml_url>https://onlinetools.ups.com/ups.app/xml/ShipAccept</shipaccept_xml_url>
|
|
|
172 |
<handling>0</handling>
|
173 |
<model>usa/shipping_carrier_ups</model>
|
174 |
<pickup>CC</pickup>
|
@@ -188,7 +190,7 @@
|
|
188 |
<usps>
|
189 |
<active>0</active>
|
190 |
<sallowspecific>0</sallowspecific>
|
191 |
-
<allowed_methods>0_FCLE,0_FCL,0_FCP,1,2,3,4,6,7,13,16,17,22,23,25,27,28,33,34,35,36,37,42,43,
|
192 |
<container>VARIABLE</container>
|
193 |
<cutoff_cost/>
|
194 |
<free_method/>
|
@@ -215,10 +217,12 @@
|
|
215 |
<active>0</active>
|
216 |
<title>DHL</title>
|
217 |
<sallowspecific>0</sallowspecific>
|
|
|
218 |
<nondoc_methods>1,3,4,8,P,Q,E,F,H,J,M,V,Y</nondoc_methods>
|
219 |
<doc_methods>2,5,6,7,9,B,C,D,U,K,L,G,W,I,N,O,R,S,T,X</doc_methods>
|
220 |
<free_method>G</free_method>
|
221 |
<gateway_url>https://xmlpi-ea.dhl.com/XMLShippingServlet</gateway_url>
|
|
|
222 |
<id backend_model="adminhtml/system_config_backend_encrypted"/>
|
223 |
<password backend_model="adminhtml/system_config_backend_encrypted"/>
|
224 |
<shipment_type>N</shipment_type>
|
114 |
<dutypaymenttype>R</dutypaymenttype>
|
115 |
<free_method>G</free_method>
|
116 |
<gateway_url>https://eCommerce.airborne.com/ApiLandingTest.asp</gateway_url>
|
117 |
+
<verify_peer>0</verify_peer>
|
118 |
<id backend_model="adminhtml/system_config_backend_encrypted"/>
|
119 |
<model>usa/shipping_carrier_dhl</model>
|
120 |
<password backend_model="adminhtml/system_config_backend_encrypted"/>
|
170 |
<tracking_xml_url>https://onlinetools.ups.com/ups.app/xml/Track</tracking_xml_url>
|
171 |
<shipconfirm_xml_url>https://onlinetools.ups.com/ups.app/xml/ShipConfirm</shipconfirm_xml_url>
|
172 |
<shipaccept_xml_url>https://onlinetools.ups.com/ups.app/xml/ShipAccept</shipaccept_xml_url>
|
173 |
+
<verify_peer>0</verify_peer>
|
174 |
<handling>0</handling>
|
175 |
<model>usa/shipping_carrier_ups</model>
|
176 |
<pickup>CC</pickup>
|
190 |
<usps>
|
191 |
<active>0</active>
|
192 |
<sallowspecific>0</sallowspecific>
|
193 |
+
<allowed_methods>0_FCLE,0_FCL,0_FCSL,0_FCP,0_FCPC,1,2,3,4,6,7,13,15,16,17,22,23,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,53,57,58,59,61,62,63,64,72,INT_1,INT_2,INT_4,INT_5,INT_6,INT_7,INT_8,INT_9,INT_10,INT_11,INT_12,INT_13,INT_14,INT_15,INT_16,INT_17,INT_18,INT_19,INT_20,INT_21,INT_22,INT_23,INT_24,INT_25,INT_27</allowed_methods>
|
194 |
<container>VARIABLE</container>
|
195 |
<cutoff_cost/>
|
196 |
<free_method/>
|
217 |
<active>0</active>
|
218 |
<title>DHL</title>
|
219 |
<sallowspecific>0</sallowspecific>
|
220 |
+
<content_type>D</content_type>
|
221 |
<nondoc_methods>1,3,4,8,P,Q,E,F,H,J,M,V,Y</nondoc_methods>
|
222 |
<doc_methods>2,5,6,7,9,B,C,D,U,K,L,G,W,I,N,O,R,S,T,X</doc_methods>
|
223 |
<free_method>G</free_method>
|
224 |
<gateway_url>https://xmlpi-ea.dhl.com/XMLShippingServlet</gateway_url>
|
225 |
+
<verify_peer>0</verify_peer>
|
226 |
<id backend_model="adminhtml/system_config_backend_encrypted"/>
|
227 |
<password backend_model="adminhtml/system_config_backend_encrypted"/>
|
228 |
<shipment_type>N</shipment_type>
|
app/code/core/Mage/Usa/etc/system.xml
CHANGED
@@ -130,6 +130,15 @@
|
|
130 |
<show_in_website>1</show_in_website>
|
131 |
<show_in_store>0</show_in_store>
|
132 |
</gateway_url>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
<handling_type translate="label">
|
134 |
<label>Calculate Handling Fee</label>
|
135 |
<frontend_type>select</frontend_type>
|
@@ -744,6 +753,15 @@
|
|
744 |
<show_in_website>1</show_in_website>
|
745 |
<show_in_store>0</show_in_store>
|
746 |
</gateway_url>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
747 |
<gateway_xml_url translate="label">
|
748 |
<label>Gateway XML URL</label>
|
749 |
<frontend_type>text</frontend_type>
|
@@ -1264,6 +1282,15 @@
|
|
1264 |
<show_in_website>1</show_in_website>
|
1265 |
<show_in_store>0</show_in_store>
|
1266 |
</gateway_url>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1267 |
<title translate="label">
|
1268 |
<label>Title</label>
|
1269 |
<frontend_type>text</frontend_type>
|
130 |
<show_in_website>1</show_in_website>
|
131 |
<show_in_store>0</show_in_store>
|
132 |
</gateway_url>
|
133 |
+
<verify_peer translate="label">
|
134 |
+
<label>Enable SSL Verification</label>
|
135 |
+
<frontend_type>select</frontend_type>
|
136 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
137 |
+
<sort_order>30</sort_order>
|
138 |
+
<show_in_default>1</show_in_default>
|
139 |
+
<show_in_website>1</show_in_website>
|
140 |
+
<show_in_store>0</show_in_store>
|
141 |
+
</verify_peer>
|
142 |
<handling_type translate="label">
|
143 |
<label>Calculate Handling Fee</label>
|
144 |
<frontend_type>select</frontend_type>
|
753 |
<show_in_website>1</show_in_website>
|
754 |
<show_in_store>0</show_in_store>
|
755 |
</gateway_url>
|
756 |
+
<verify_peer translate="label">
|
757 |
+
<label>Enable SSL Verification</label>
|
758 |
+
<frontend_type>select</frontend_type>
|
759 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
760 |
+
<sort_order>45</sort_order>
|
761 |
+
<show_in_default>1</show_in_default>
|
762 |
+
<show_in_website>1</show_in_website>
|
763 |
+
<show_in_store>0</show_in_store>
|
764 |
+
</verify_peer>
|
765 |
<gateway_xml_url translate="label">
|
766 |
<label>Gateway XML URL</label>
|
767 |
<frontend_type>text</frontend_type>
|
1282 |
<show_in_website>1</show_in_website>
|
1283 |
<show_in_store>0</show_in_store>
|
1284 |
</gateway_url>
|
1285 |
+
<verify_peer translate="label">
|
1286 |
+
<label>Enable SSL Verification</label>
|
1287 |
+
<frontend_type>select</frontend_type>
|
1288 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1289 |
+
<sort_order>30</sort_order>
|
1290 |
+
<show_in_default>1</show_in_default>
|
1291 |
+
<show_in_website>1</show_in_website>
|
1292 |
+
<show_in_store>0</show_in_store>
|
1293 |
+
</verify_peer>
|
1294 |
<title translate="label">
|
1295 |
<label>Title</label>
|
1296 |
<frontend_type>text</frontend_type>
|
app/code/core/Mage/Weee/Model/Observer.php
CHANGED
@@ -296,7 +296,10 @@ class Mage_Weee_Model_Observer extends Mage_Core_Model_Abstract
|
|
296 |
$response = $observer->getEvent()->getResponseObject();
|
297 |
$options = $response->getAdditionalOptions();
|
298 |
|
299 |
-
$
|
|
|
|
|
|
|
300 |
if (!$_product) {
|
301 |
return $this;
|
302 |
}
|
296 |
$response = $observer->getEvent()->getResponseObject();
|
297 |
$options = $response->getAdditionalOptions();
|
298 |
|
299 |
+
$eventProduct = $observer->getEvent()->getProduct();
|
300 |
+
|
301 |
+
$_product = $eventProduct ? $eventProduct : Mage::registry('current_product');
|
302 |
+
|
303 |
if (!$_product) {
|
304 |
return $this;
|
305 |
}
|
app/code/core/Mage/Wishlist/Block/Customer/Wishlist/Item/Options.php
CHANGED
@@ -114,9 +114,12 @@ class Mage_Wishlist_Block_Customer_Wishlist_Item_Options extends Mage_Wishlist_B
|
|
114 |
}
|
115 |
|
116 |
$item = $this->getItem();
|
117 |
-
|
118 |
-
if (
|
119 |
-
$data = $this->getOptionsRenderCfg(
|
|
|
|
|
|
|
120 |
}
|
121 |
|
122 |
return empty($data['template']) ? '' : $data['template'];
|
114 |
}
|
115 |
|
116 |
$item = $this->getItem();
|
117 |
+
|
118 |
+
if ($item instanceof Mage_Wishlist_Model_Item) {
|
119 |
+
$data = $this->getOptionsRenderCfg($item->getProduct()->getTypeId());
|
120 |
+
if (empty($data['template'])) {
|
121 |
+
$data = $this->getOptionsRenderCfg('default');
|
122 |
+
}
|
123 |
}
|
124 |
|
125 |
return empty($data['template']) ? '' : $data['template'];
|
app/code/core/Mage/Wishlist/Helper/Data.php
CHANGED
@@ -274,7 +274,10 @@ class Mage_Wishlist_Helper_Data extends Mage_Core_Helper_Abstract
|
|
274 |
public function getRemoveUrl($item)
|
275 |
{
|
276 |
return $this->_getUrl('wishlist/index/remove',
|
277 |
-
array(
|
|
|
|
|
|
|
278 |
);
|
279 |
}
|
280 |
|
274 |
public function getRemoveUrl($item)
|
275 |
{
|
276 |
return $this->_getUrl('wishlist/index/remove',
|
277 |
+
array(
|
278 |
+
'item' => $item->getWishlistItemId(),
|
279 |
+
Mage_Core_Model_Url::FORM_KEY => $this->_getSingletonModel('core/session')->getFormKey()
|
280 |
+
)
|
281 |
);
|
282 |
}
|
283 |
|
app/code/core/Mage/Wishlist/controllers/IndexController.php
CHANGED
@@ -434,6 +434,9 @@ class Mage_Wishlist_IndexController extends Mage_Wishlist_Controller_Abstract
|
|
434 |
*/
|
435 |
public function removeAction()
|
436 |
{
|
|
|
|
|
|
|
437 |
$id = (int) $this->getRequest()->getParam('item');
|
438 |
$item = Mage::getModel('wishlist/item')->load($id);
|
439 |
if (!$item->getId()) {
|
434 |
*/
|
435 |
public function removeAction()
|
436 |
{
|
437 |
+
if (!$this->_validateFormKey()) {
|
438 |
+
return $this->_redirect('*/*');
|
439 |
+
}
|
440 |
$id = (int) $this->getRequest()->getParam('item');
|
441 |
$item = Mage::getModel('wishlist/item')->load($id);
|
442 |
if (!$item->getId()) {
|
app/code/core/Zend/Validate/Hostname.php
ADDED
@@ -0,0 +1,1684 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Zend Framework
|
4 |
+
*
|
5 |
+
* LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the new BSD license that is bundled
|
8 |
+
* with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://framework.zend.com/license/new-bsd
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@zend.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* @category Zend
|
16 |
+
* @package Zend_Validate
|
17 |
+
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
18 |
+
* @license http://framework.zend.com/license/new-bsd New BSD License
|
19 |
+
* @version $Id$
|
20 |
+
*/
|
21 |
+
|
22 |
+
/**
|
23 |
+
* @see Zend_Validate_Abstract
|
24 |
+
*/
|
25 |
+
#require_once 'Zend/Validate/Abstract.php';
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @see Zend_Validate_Ip
|
29 |
+
*/
|
30 |
+
#require_once 'Zend/Validate/Ip.php';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Please note there are two standalone test scripts for testing IDN characters due to problems
|
34 |
+
* with file encoding.
|
35 |
+
*
|
36 |
+
* The first is tests/Zend/Validate/HostnameTestStandalone.php which is designed to be run on
|
37 |
+
* the command line.
|
38 |
+
*
|
39 |
+
* The second is tests/Zend/Validate/HostnameTestForm.php which is designed to be run via HTML
|
40 |
+
* to allow users to test entering UTF-8 characters in a form.
|
41 |
+
*
|
42 |
+
* @category Zend
|
43 |
+
* @package Zend_Validate
|
44 |
+
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
45 |
+
* @license http://framework.zend.com/license/new-bsd New BSD License
|
46 |
+
*/
|
47 |
+
class Zend_Validate_Hostname extends Zend_Validate_Abstract
|
48 |
+
{
|
49 |
+
const CANNOT_DECODE_PUNYCODE = 'hostnameCannotDecodePunycode';
|
50 |
+
const INVALID = 'hostnameInvalid';
|
51 |
+
const INVALID_DASH = 'hostnameDashCharacter';
|
52 |
+
const INVALID_HOSTNAME = 'hostnameInvalidHostname';
|
53 |
+
const INVALID_HOSTNAME_SCHEMA = 'hostnameInvalidHostnameSchema';
|
54 |
+
const INVALID_LOCAL_NAME = 'hostnameInvalidLocalName';
|
55 |
+
const INVALID_URI = 'hostnameInvalidUri';
|
56 |
+
const IP_ADDRESS_NOT_ALLOWED = 'hostnameIpAddressNotAllowed';
|
57 |
+
const LOCAL_NAME_NOT_ALLOWED = 'hostnameLocalNameNotAllowed';
|
58 |
+
const UNDECIPHERABLE_TLD = 'hostnameUndecipherableTld';
|
59 |
+
const UNKNOWN_TLD = 'hostnameUnknownTld';
|
60 |
+
|
61 |
+
/**
|
62 |
+
* @var array
|
63 |
+
*/
|
64 |
+
protected $_messageTemplates = array(
|
65 |
+
self::CANNOT_DECODE_PUNYCODE => "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded",
|
66 |
+
self::INVALID => "Invalid type given. String expected",
|
67 |
+
self::INVALID_DASH => "'%value%' appears to be a DNS hostname but contains a dash in an invalid position",
|
68 |
+
self::INVALID_HOSTNAME => "'%value%' does not match the expected structure for a DNS hostname",
|
69 |
+
self::INVALID_HOSTNAME_SCHEMA => "'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'",
|
70 |
+
self::INVALID_LOCAL_NAME => "'%value%' does not appear to be a valid local network name",
|
71 |
+
self::INVALID_URI => "'%value%' does not appear to be a valid URI hostname",
|
72 |
+
self::IP_ADDRESS_NOT_ALLOWED => "'%value%' appears to be an IP address, but IP addresses are not allowed",
|
73 |
+
self::LOCAL_NAME_NOT_ALLOWED => "'%value%' appears to be a local network name but local network names are not allowed",
|
74 |
+
self::UNDECIPHERABLE_TLD => "'%value%' appears to be a DNS hostname but cannot extract TLD part",
|
75 |
+
self::UNKNOWN_TLD => "'%value%' appears to be a DNS hostname but cannot match TLD against known list",
|
76 |
+
);
|
77 |
+
|
78 |
+
/**
|
79 |
+
* @var array
|
80 |
+
*/
|
81 |
+
protected $_messageVariables = array(
|
82 |
+
'tld' => '_tld'
|
83 |
+
);
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Allows Internet domain names (e.g., example.com)
|
87 |
+
*/
|
88 |
+
const ALLOW_DNS = 1;
|
89 |
+
|
90 |
+
/**
|
91 |
+
* Allows IP addresses
|
92 |
+
*/
|
93 |
+
const ALLOW_IP = 2;
|
94 |
+
|
95 |
+
/**
|
96 |
+
* Allows local network names (e.g., localhost, www.localdomain)
|
97 |
+
*/
|
98 |
+
const ALLOW_LOCAL = 4;
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Allows all types of hostnames
|
102 |
+
*/
|
103 |
+
const ALLOW_URI = 8;
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Allows all types of hostnames
|
107 |
+
*/
|
108 |
+
const ALLOW_ALL = 15;
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Array of valid top-level-domains
|
112 |
+
*
|
113 |
+
* Version 2014112800, Last Updated Fri Nov 28 07:07:01 2014 UTC
|
114 |
+
*
|
115 |
+
* @see http://data.iana.org/TLD/tlds-alpha-by-domain.txt List of all TLDs by domain
|
116 |
+
* @see http://www.iana.org/domains/root/db/ Official list of supported TLDs
|
117 |
+
* @var array
|
118 |
+
*/
|
119 |
+
protected $_validTlds = array(
|
120 |
+
'abogado',
|
121 |
+
'ac',
|
122 |
+
'academy',
|
123 |
+
'accountants',
|
124 |
+
'active',
|
125 |
+
'actor',
|
126 |
+
'ad',
|
127 |
+
'ae',
|
128 |
+
'aero',
|
129 |
+
'af',
|
130 |
+
'ag',
|
131 |
+
'agency',
|
132 |
+
'ai',
|
133 |
+
'airforce',
|
134 |
+
'al',
|
135 |
+
'allfinanz',
|
136 |
+
'alsace',
|
137 |
+
'am',
|
138 |
+
'an',
|
139 |
+
'android',
|
140 |
+
'ao',
|
141 |
+
'aq',
|
142 |
+
'ar',
|
143 |
+
'archi',
|
144 |
+
'army',
|
145 |
+
'arpa',
|
146 |
+
'as',
|
147 |
+
'asia',
|
148 |
+
'associates',
|
149 |
+
'at',
|
150 |
+
'attorney',
|
151 |
+
'au',
|
152 |
+
'auction',
|
153 |
+
'audio',
|
154 |
+
'autos',
|
155 |
+
'aw',
|
156 |
+
'ax',
|
157 |
+
'axa',
|
158 |
+
'az',
|
159 |
+
'ba',
|
160 |
+
'band',
|
161 |
+
'bar',
|
162 |
+
'bargains',
|
163 |
+
'bayern',
|
164 |
+
'bb',
|
165 |
+
'bd',
|
166 |
+
'be',
|
167 |
+
'beer',
|
168 |
+
'berlin',
|
169 |
+
'best',
|
170 |
+
'bf',
|
171 |
+
'bg',
|
172 |
+
'bh',
|
173 |
+
'bi',
|
174 |
+
'bid',
|
175 |
+
'bike',
|
176 |
+
'bio',
|
177 |
+
'biz',
|
178 |
+
'bj',
|
179 |
+
'black',
|
180 |
+
'blackfriday',
|
181 |
+
'bloomberg',
|
182 |
+
'blue',
|
183 |
+
'bm',
|
184 |
+
'bmw',
|
185 |
+
'bn',
|
186 |
+
'bnpparibas',
|
187 |
+
'bo',
|
188 |
+
'boo',
|
189 |
+
'boutique',
|
190 |
+
'br',
|
191 |
+
'brussels',
|
192 |
+
'bs',
|
193 |
+
'bt',
|
194 |
+
'budapest',
|
195 |
+
'build',
|
196 |
+
'builders',
|
197 |
+
'business',
|
198 |
+
'buzz',
|
199 |
+
'bv',
|
200 |
+
'bw',
|
201 |
+
'by',
|
202 |
+
'bz',
|
203 |
+
'bzh',
|
204 |
+
'ca',
|
205 |
+
'cab',
|
206 |
+
'cal',
|
207 |
+
'camera',
|
208 |
+
'camp',
|
209 |
+
'cancerresearch',
|
210 |
+
'capetown',
|
211 |
+
'capital',
|
212 |
+
'caravan',
|
213 |
+
'cards',
|
214 |
+
'care',
|
215 |
+
'career',
|
216 |
+
'careers',
|
217 |
+
'casa',
|
218 |
+
'cash',
|
219 |
+
'cat',
|
220 |
+
'catering',
|
221 |
+
'cc',
|
222 |
+
'cd',
|
223 |
+
'center',
|
224 |
+
'ceo',
|
225 |
+
'cern',
|
226 |
+
'cf',
|
227 |
+
'cg',
|
228 |
+
'ch',
|
229 |
+
'channel',
|
230 |
+
'cheap',
|
231 |
+
'christmas',
|
232 |
+
'chrome',
|
233 |
+
'church',
|
234 |
+
'ci',
|
235 |
+
'citic',
|
236 |
+
'city',
|
237 |
+
'ck',
|
238 |
+
'cl',
|
239 |
+
'claims',
|
240 |
+
'cleaning',
|
241 |
+
'click',
|
242 |
+
'clinic',
|
243 |
+
'clothing',
|
244 |
+
'club',
|
245 |
+
'cm',
|
246 |
+
'cn',
|
247 |
+
'co',
|
248 |
+
'coach',
|
249 |
+
'codes',
|
250 |
+
'coffee',
|
251 |
+
'college',
|
252 |
+
'cologne',
|
253 |
+
'com',
|
254 |
+
'community',
|
255 |
+
'company',
|
256 |
+
'computer',
|
257 |
+
'condos',
|
258 |
+
'construction',
|
259 |
+
'consulting',
|
260 |
+
'contractors',
|
261 |
+
'cooking',
|
262 |
+
'cool',
|
263 |
+
'coop',
|
264 |
+
'country',
|
265 |
+
'cr',
|
266 |
+
'credit',
|
267 |
+
'creditcard',
|
268 |
+
'cricket',
|
269 |
+
'crs',
|
270 |
+
'cruises',
|
271 |
+
'cu',
|
272 |
+
'cuisinella',
|
273 |
+
'cv',
|
274 |
+
'cw',
|
275 |
+
'cx',
|
276 |
+
'cy',
|
277 |
+
'cymru',
|
278 |
+
'cz',
|
279 |
+
'dad',
|
280 |
+
'dance',
|
281 |
+
'dating',
|
282 |
+
'day',
|
283 |
+
'de',
|
284 |
+
'deals',
|
285 |
+
'degree',
|
286 |
+
'delivery',
|
287 |
+
'democrat',
|
288 |
+
'dental',
|
289 |
+
'dentist',
|
290 |
+
'desi',
|
291 |
+
'diamonds',
|
292 |
+
'diet',
|
293 |
+
'digital',
|
294 |
+
'direct',
|
295 |
+
'directory',
|
296 |
+
'discount',
|
297 |
+
'dj',
|
298 |
+
'dk',
|
299 |
+
'dm',
|
300 |
+
'dnp',
|
301 |
+
'do',
|
302 |
+
'domains',
|
303 |
+
'durban',
|
304 |
+
'dvag',
|
305 |
+
'dz',
|
306 |
+
'eat',
|
307 |
+
'ec',
|
308 |
+
'edu',
|
309 |
+
'education',
|
310 |
+
'ee',
|
311 |
+
'eg',
|
312 |
+
'email',
|
313 |
+
'emerck',
|
314 |
+
'energy',
|
315 |
+
'engineer',
|
316 |
+
'engineering',
|
317 |
+
'enterprises',
|
318 |
+
'equipment',
|
319 |
+
'er',
|
320 |
+
'es',
|
321 |
+
'esq',
|
322 |
+
'estate',
|
323 |
+
'et',
|
324 |
+
'eu',
|
325 |
+
'eus',
|
326 |
+
'events',
|
327 |
+
'everbank',
|
328 |
+
'exchange',
|
329 |
+
'expert',
|
330 |
+
'exposed',
|
331 |
+
'fail',
|
332 |
+
'farm',
|
333 |
+
'feedback',
|
334 |
+
'fi',
|
335 |
+
'finance',
|
336 |
+
'financial',
|
337 |
+
'firmdale',
|
338 |
+
'fish',
|
339 |
+
'fishing',
|
340 |
+
'fitness',
|
341 |
+
'fj',
|
342 |
+
'fk',
|
343 |
+
'flights',
|
344 |
+
'florist',
|
345 |
+
'flsmidth',
|
346 |
+
'fly',
|
347 |
+
'fm',
|
348 |
+
'fo',
|
349 |
+
'foo',
|
350 |
+
'forsale',
|
351 |
+
'foundation',
|
352 |
+
'fr',
|
353 |
+
'frl',
|
354 |
+
'frogans',
|
355 |
+
'fund',
|
356 |
+
'furniture',
|
357 |
+
'futbol',
|
358 |
+
'ga',
|
359 |
+
'gal',
|
360 |
+
'gallery',
|
361 |
+
'gb',
|
362 |
+
'gbiz',
|
363 |
+
'gd',
|
364 |
+
'ge',
|
365 |
+
'gent',
|
366 |
+
'gf',
|
367 |
+
'gg',
|
368 |
+
'gh',
|
369 |
+
'gi',
|
370 |
+
'gift',
|
371 |
+
'gifts',
|
372 |
+
'gives',
|
373 |
+
'gl',
|
374 |
+
'glass',
|
375 |
+
'gle',
|
376 |
+
'global',
|
377 |
+
'globo',
|
378 |
+
'gm',
|
379 |
+
'gmail',
|
380 |
+
'gmo',
|
381 |
+
'gmx',
|
382 |
+
'gn',
|
383 |
+
'google',
|
384 |
+
'gop',
|
385 |
+
'gov',
|
386 |
+
'gp',
|
387 |
+
'gq',
|
388 |
+
'gr',
|
389 |
+
'graphics',
|
390 |
+
'gratis',
|
391 |
+
'green',
|
392 |
+
'gripe',
|
393 |
+
'gs',
|
394 |
+
'gt',
|
395 |
+
'gu',
|
396 |
+
'guide',
|
397 |
+
'guitars',
|
398 |
+
'guru',
|
399 |
+
'gw',
|
400 |
+
'gy',
|
401 |
+
'hamburg',
|
402 |
+
'haus',
|
403 |
+
'healthcare',
|
404 |
+
'help',
|
405 |
+
'here',
|
406 |
+
'hiphop',
|
407 |
+
'hiv',
|
408 |
+
'hk',
|
409 |
+
'hm',
|
410 |
+
'hn',
|
411 |
+
'holdings',
|
412 |
+
'holiday',
|
413 |
+
'homes',
|
414 |
+
'horse',
|
415 |
+
'host',
|
416 |
+
'hosting',
|
417 |
+
'house',
|
418 |
+
'how',
|
419 |
+
'hr',
|
420 |
+
'ht',
|
421 |
+
'hu',
|
422 |
+
'ibm',
|
423 |
+
'id',
|
424 |
+
'ie',
|
425 |
+
'il',
|
426 |
+
'im',
|
427 |
+
'immo',
|
428 |
+
'immobilien',
|
429 |
+
'in',
|
430 |
+
'industries',
|
431 |
+
'info',
|
432 |
+
'ing',
|
433 |
+
'ink',
|
434 |
+
'institute',
|
435 |
+
'insure',
|
436 |
+
'int',
|
437 |
+
'international',
|
438 |
+
'investments',
|
439 |
+
'io',
|
440 |
+
'iq',
|
441 |
+
'ir',
|
442 |
+
'is',
|
443 |
+
'it',
|
444 |
+
'je',
|
445 |
+
'jetzt',
|
446 |
+
'jm',
|
447 |
+
'jo',
|
448 |
+
'jobs',
|
449 |
+
'joburg',
|
450 |
+
'jp',
|
451 |
+
'juegos',
|
452 |
+
'kaufen',
|
453 |
+
'ke',
|
454 |
+
'kg',
|
455 |
+
'kh',
|
456 |
+
'ki',
|
457 |
+
'kim',
|
458 |
+
'kitchen',
|
459 |
+
'kiwi',
|
460 |
+
'km',
|
461 |
+
'kn',
|
462 |
+
'koeln',
|
463 |
+
'kp',
|
464 |
+
'kr',
|
465 |
+
'krd',
|
466 |
+
'kred',
|
467 |
+
'kw',
|
468 |
+
'ky',
|
469 |
+
'kz',
|
470 |
+
'la',
|
471 |
+
'lacaixa',
|
472 |
+
'land',
|
473 |
+
'lawyer',
|
474 |
+
'lb',
|
475 |
+
'lc',
|
476 |
+
'lds',
|
477 |
+
'lease',
|
478 |
+
'legal',
|
479 |
+
'lgbt',
|
480 |
+
'li',
|
481 |
+
'life',
|
482 |
+
'lighting',
|
483 |
+
'limited',
|
484 |
+
'limo',
|
485 |
+
'link',
|
486 |
+
'lk',
|
487 |
+
'loans',
|
488 |
+
'london',
|
489 |
+
'lotto',
|
490 |
+
'lr',
|
491 |
+
'ls',
|
492 |
+
'lt',
|
493 |
+
'ltda',
|
494 |
+
'lu',
|
495 |
+
'luxe',
|
496 |
+
'luxury',
|
497 |
+
'lv',
|
498 |
+
'ly',
|
499 |
+
'ma',
|
500 |
+
'madrid',
|
501 |
+
'maison',
|
502 |
+
'management',
|
503 |
+
'mango',
|
504 |
+
'market',
|
505 |
+
'marketing',
|
506 |
+
'mc',
|
507 |
+
'md',
|
508 |
+
'me',
|
509 |
+
'media',
|
510 |
+
'meet',
|
511 |
+
'melbourne',
|
512 |
+
'meme',
|
513 |
+
'memorial',
|
514 |
+
'menu',
|
515 |
+
'mg',
|
516 |
+
'mh',
|
517 |
+
'miami',
|
518 |
+
'mil',
|
519 |
+
'mini',
|
520 |
+
'mk',
|
521 |
+
'ml',
|
522 |
+
'mm',
|
523 |
+
'mn',
|
524 |
+
'mo',
|
525 |
+
'mobi',
|
526 |
+
'moda',
|
527 |
+
'moe',
|
528 |
+
'monash',
|
529 |
+
'money',
|
530 |
+
'mormon',
|
531 |
+
'mortgage',
|
532 |
+
'moscow',
|
533 |
+
'motorcycles',
|
534 |
+
'mov',
|
535 |
+
'mp',
|
536 |
+
'mq',
|
537 |
+
'mr',
|
538 |
+
'ms',
|
539 |
+
'mt',
|
540 |
+
'mu',
|
541 |
+
'museum',
|
542 |
+
'mv',
|
543 |
+
'mw',
|
544 |
+
'mx',
|
545 |
+
'my',
|
546 |
+
'mz',
|
547 |
+
'na',
|
548 |
+
'nagoya',
|
549 |
+
'name',
|
550 |
+
'navy',
|
551 |
+
'nc',
|
552 |
+
'ne',
|
553 |
+
'net',
|
554 |
+
'network',
|
555 |
+
'neustar',
|
556 |
+
'new',
|
557 |
+
'nexus',
|
558 |
+
'nf',
|
559 |
+
'ng',
|
560 |
+
'ngo',
|
561 |
+
'nhk',
|
562 |
+
'ni',
|
563 |
+
'ninja',
|
564 |
+
'nl',
|
565 |
+
'no',
|
566 |
+
'np',
|
567 |
+
'nr',
|
568 |
+
'nra',
|
569 |
+
'nrw',
|
570 |
+
'nu',
|
571 |
+
'nyc',
|
572 |
+
'nz',
|
573 |
+
'okinawa',
|
574 |
+
'om',
|
575 |
+
'ong',
|
576 |
+
'onl',
|
577 |
+
'ooo',
|
578 |
+
'org',
|
579 |
+
'organic',
|
580 |
+
'otsuka',
|
581 |
+
'ovh',
|
582 |
+
'pa',
|
583 |
+
'paris',
|
584 |
+
'partners',
|
585 |
+
'parts',
|
586 |
+
'party',
|
587 |
+
'pe',
|
588 |
+
'pf',
|
589 |
+
'pg',
|
590 |
+
'ph',
|
591 |
+
'pharmacy',
|
592 |
+
'photo',
|
593 |
+
'photography',
|
594 |
+
'photos',
|
595 |
+
'physio',
|
596 |
+
'pics',
|
597 |
+
'pictures',
|
598 |
+
'pink',
|
599 |
+
'pizza',
|
600 |
+
'pk',
|
601 |
+
'pl',
|
602 |
+
'place',
|
603 |
+
'plumbing',
|
604 |
+
'pm',
|
605 |
+
'pn',
|
606 |
+
'pohl',
|
607 |
+
'poker',
|
608 |
+
'post',
|
609 |
+
'pr',
|
610 |
+
'praxi',
|
611 |
+
'press',
|
612 |
+
'pro',
|
613 |
+
'prod',
|
614 |
+
'productions',
|
615 |
+
'prof',
|
616 |
+
'properties',
|
617 |
+
'property',
|
618 |
+
'ps',
|
619 |
+
'pt',
|
620 |
+
'pub',
|
621 |
+
'pw',
|
622 |
+
'py',
|
623 |
+
'qa',
|
624 |
+
'qpon',
|
625 |
+
'quebec',
|
626 |
+
're',
|
627 |
+
'realtor',
|
628 |
+
'recipes',
|
629 |
+
'red',
|
630 |
+
'rehab',
|
631 |
+
'reise',
|
632 |
+
'reisen',
|
633 |
+
'reit',
|
634 |
+
'ren',
|
635 |
+
'rentals',
|
636 |
+
'repair',
|
637 |
+
'report',
|
638 |
+
'republican',
|
639 |
+
'rest',
|
640 |
+
'restaurant',
|
641 |
+
'reviews',
|
642 |
+
'rich',
|
643 |
+
'rio',
|
644 |
+
'rip',
|
645 |
+
'ro',
|
646 |
+
'rocks',
|
647 |
+
'rodeo',
|
648 |
+
'rs',
|
649 |
+
'rsvp',
|
650 |
+
'ru',
|
651 |
+
'ruhr',
|
652 |
+
'rw',
|
653 |
+
'ryukyu',
|
654 |
+
'sa',
|
655 |
+
'saarland',
|
656 |
+
'sarl',
|
657 |
+
'sb',
|
658 |
+
'sc',
|
659 |
+
'sca',
|
660 |
+
'scb',
|
661 |
+
'schmidt',
|
662 |
+
'schule',
|
663 |
+
'science',
|
664 |
+
'scot',
|
665 |
+
'sd',
|
666 |
+
'se',
|
667 |
+
'services',
|
668 |
+
'sexy',
|
669 |
+
'sg',
|
670 |
+
'sh',
|
671 |
+
'shiksha',
|
672 |
+
'shoes',
|
673 |
+
'si',
|
674 |
+
'singles',
|
675 |
+
'sj',
|
676 |
+
'sk',
|
677 |
+
'sl',
|
678 |
+
'sm',
|
679 |
+
'sn',
|
680 |
+
'so',
|
681 |
+
'social',
|
682 |
+
'software',
|
683 |
+
'sohu',
|
684 |
+
'solar',
|
685 |
+
'solutions',
|
686 |
+
'soy',
|
687 |
+
'space',
|
688 |
+
'spiegel',
|
689 |
+
'sr',
|
690 |
+
'st',
|
691 |
+
'su',
|
692 |
+
'supplies',
|
693 |
+
'supply',
|
694 |
+
'support',
|
695 |
+
'surf',
|
696 |
+
'surgery',
|
697 |
+
'suzuki',
|
698 |
+
'sv',
|
699 |
+
'sx',
|
700 |
+
'sy',
|
701 |
+
'sydney',
|
702 |
+
'systems',
|
703 |
+
'sz',
|
704 |
+
'taipei',
|
705 |
+
'tatar',
|
706 |
+
'tattoo',
|
707 |
+
'tax',
|
708 |
+
'tc',
|
709 |
+
'td',
|
710 |
+
'technology',
|
711 |
+
'tel',
|
712 |
+
'tf',
|
713 |
+
'tg',
|
714 |
+
'th',
|
715 |
+
'tienda',
|
716 |
+
'tips',
|
717 |
+
'tirol',
|
718 |
+
'tj',
|
719 |
+
'tk',
|
720 |
+
'tl',
|
721 |
+
'tm',
|
722 |
+
'tn',
|
723 |
+
'to',
|
724 |
+
'today',
|
725 |
+
'tokyo',
|
726 |
+
'tools',
|
727 |
+
'top',
|
728 |
+
'town',
|
729 |
+
'toys',
|
730 |
+
'tp',
|
731 |
+
'tr',
|
732 |
+
'trade',
|
733 |
+
'training',
|
734 |
+
'travel',
|
735 |
+
'tt',
|
736 |
+
'tui',
|
737 |
+
'tv',
|
738 |
+
'tw',
|
739 |
+
'tz',
|
740 |
+
'ua',
|
741 |
+
'ug',
|
742 |
+
'uk',
|
743 |
+
'university',
|
744 |
+
'uno',
|
745 |
+
'uol',
|
746 |
+
'us',
|
747 |
+
'uy',
|
748 |
+
'uz',
|
749 |
+
'va',
|
750 |
+
'vacations',
|
751 |
+
'vc',
|
752 |
+
've',
|
753 |
+
'vegas',
|
754 |
+
'ventures',
|
755 |
+
'versicherung',
|
756 |
+
'vet',
|
757 |
+
'vg',
|
758 |
+
'vi',
|
759 |
+
'viajes',
|
760 |
+
'villas',
|
761 |
+
'vision',
|
762 |
+
'vlaanderen',
|
763 |
+
'vn',
|
764 |
+
'vodka',
|
765 |
+
'vote',
|
766 |
+
'voting',
|
767 |
+
'voto',
|
768 |
+
'voyage',
|
769 |
+
'vu',
|
770 |
+
'wales',
|
771 |
+
'wang',
|
772 |
+
'watch',
|
773 |
+
'webcam',
|
774 |
+
'website',
|
775 |
+
'wed',
|
776 |
+
'wedding',
|
777 |
+
'wf',
|
778 |
+
'whoswho',
|
779 |
+
'wien',
|
780 |
+
'wiki',
|
781 |
+
'williamhill',
|
782 |
+
'wme',
|
783 |
+
'work',
|
784 |
+
'works',
|
785 |
+
'world',
|
786 |
+
'ws',
|
787 |
+
'wtc',
|
788 |
+
'wtf',
|
789 |
+
'xn--1qqw23a',
|
790 |
+
'xn--3bst00m',
|
791 |
+
'xn--3ds443g',
|
792 |
+
'xn--3e0b707e',
|
793 |
+
'xn--45brj9c',
|
794 |
+
'xn--45q11c',
|
795 |
+
'xn--4gbrim',
|
796 |
+
'xn--55qw42g',
|
797 |
+
'xn--55qx5d',
|
798 |
+
'xn--6frz82g',
|
799 |
+
'xn--6qq986b3xl',
|
800 |
+
'xn--80adxhks',
|
801 |
+
'xn--80ao21a',
|
802 |
+
'xn--80asehdb',
|
803 |
+
'xn--80aswg',
|
804 |
+
'xn--90a3ac',
|
805 |
+
'xn--c1avg',
|
806 |
+
'xn--cg4bki',
|
807 |
+
'xn--clchc0ea0b2g2a9gcd',
|
808 |
+
'xn--czr694b',
|
809 |
+
'xn--czru2d',
|
810 |
+
'xn--d1acj3b',
|
811 |
+
'xn--d1alf',
|
812 |
+
'xn--fiq228c5hs',
|
813 |
+
'xn--fiq64b',
|
814 |
+
'xn--fiqs8s',
|
815 |
+
'xn--fiqz9s',
|
816 |
+
'xn--flw351e',
|
817 |
+
'xn--fpcrj9c3d',
|
818 |
+
'xn--fzc2c9e2c',
|
819 |
+
'xn--gecrj9c',
|
820 |
+
'xn--h2brj9c',
|
821 |
+
'xn--i1b6b1a6a2e',
|
822 |
+
'xn--io0a7i',
|
823 |
+
'xn--j1amh',
|
824 |
+
'xn--j6w193g',
|
825 |
+
'xn--kprw13d',
|
826 |
+
'xn--kpry57d',
|
827 |
+
'xn--kput3i',
|
828 |
+
'xn--l1acc',
|
829 |
+
'xn--lgbbat1ad8j',
|
830 |
+
'xn--mgb9awbf',
|
831 |
+
'xn--mgba3a4f16a',
|
832 |
+
'xn--mgbaam7a8h',
|
833 |
+
'xn--mgbab2bd',
|
834 |
+
'xn--mgbayh7gpa',
|
835 |
+
'xn--mgbbh1a71e',
|
836 |
+
'xn--mgbc0a9azcg',
|
837 |
+
'xn--mgberp4a5d4ar',
|
838 |
+
'xn--mgbx4cd0ab',
|
839 |
+
'xn--ngbc5azd',
|
840 |
+
'xn--node',
|
841 |
+
'xn--nqv7f',
|
842 |
+
'xn--nqv7fs00ema',
|
843 |
+
'xn--o3cw4h',
|
844 |
+
'xn--ogbpf8fl',
|
845 |
+
'xn--p1acf',
|
846 |
+
'xn--p1ai',
|
847 |
+
'xn--pgbs0dh',
|
848 |
+
'xn--q9jyb4c',
|
849 |
+
'xn--qcka1pmc',
|
850 |
+
'xn--rhqv96g',
|
851 |
+
'xn--s9brj9c',
|
852 |
+
'xn--ses554g',
|
853 |
+
'xn--unup4y',
|
854 |
+
'xn--vermgensberater-ctb',
|
855 |
+
'xn--vermgensberatung-pwb',
|
856 |
+
'xn--vhquv',
|
857 |
+
'xn--wgbh1c',
|
858 |
+
'xn--wgbl6a',
|
859 |
+
'xn--xhq521b',
|
860 |
+
'xn--xkc2al3hye2a',
|
861 |
+
'xn--xkc2dl3a5ee0h',
|
862 |
+
'xn--yfro4i67o',
|
863 |
+
'xn--ygbi2ammx',
|
864 |
+
'xn--zfr164b',
|
865 |
+
'xxx',
|
866 |
+
'xyz',
|
867 |
+
'yachts',
|
868 |
+
'yandex',
|
869 |
+
'ye',
|
870 |
+
'yoga',
|
871 |
+
'yokohama',
|
872 |
+
'youtube',
|
873 |
+
'yt',
|
874 |
+
'za',
|
875 |
+
'zip',
|
876 |
+
'zm',
|
877 |
+
'zone',
|
878 |
+
'zw',
|
879 |
+
'测试',
|
880 |
+
'परीक्षा',
|
881 |
+
'佛山',
|
882 |
+
'集团',
|
883 |
+
'在线',
|
884 |
+
'한국',
|
885 |
+
'ভারত',
|
886 |
+
'八卦',
|
887 |
+
'موقع',
|
888 |
+
'বাংলা',
|
889 |
+
'公益',
|
890 |
+
'公司',
|
891 |
+
'移动',
|
892 |
+
'我爱你',
|
893 |
+
'москва',
|
894 |
+
'испытание',
|
895 |
+
'қаз',
|
896 |
+
'онлайн',
|
897 |
+
'сайт',
|
898 |
+
'срб',
|
899 |
+
'бел',
|
900 |
+
'테스트',
|
901 |
+
'орг',
|
902 |
+
'삼성',
|
903 |
+
'சிங்கப்பூர்',
|
904 |
+
'商标',
|
905 |
+
'商城',
|
906 |
+
'дети',
|
907 |
+
'мкд',
|
908 |
+
'טעסט',
|
909 |
+
'中文网',
|
910 |
+
'中信',
|
911 |
+
'中国',
|
912 |
+
'中國',
|
913 |
+
'谷歌',
|
914 |
+
'భారత్',
|
915 |
+
'ලංකා',
|
916 |
+
'測試',
|
917 |
+
'ભારત',
|
918 |
+
'भारत',
|
919 |
+
'آزمایشی',
|
920 |
+
'பரிட்சை',
|
921 |
+
'संगठन',
|
922 |
+
'网络',
|
923 |
+
'укр',
|
924 |
+
'香港',
|
925 |
+
'δοκιμή',
|
926 |
+
'إختبار',
|
927 |
+
'台湾',
|
928 |
+
'台灣',
|
929 |
+
'手机',
|
930 |
+
'мон',
|
931 |
+
'الجزائر',
|
932 |
+
'عمان',
|
933 |
+
'ایران',
|
934 |
+
'امارات',
|
935 |
+
'بازار',
|
936 |
+
'پاکستان',
|
937 |
+
'الاردن',
|
938 |
+
'بھارت',
|
939 |
+
'المغرب',
|
940 |
+
'السعودية',
|
941 |
+
'سودان',
|
942 |
+
'عراق',
|
943 |
+
'مليسيا',
|
944 |
+
'شبكة',
|
945 |
+
'გე',
|
946 |
+
'机构',
|
947 |
+
'组织机构',
|
948 |
+
'ไทย',
|
949 |
+
'سورية',
|
950 |
+
'рус',
|
951 |
+
'рф',
|
952 |
+
'تونس',
|
953 |
+
'みんな',
|
954 |
+
'グーグル',
|
955 |
+
'世界',
|
956 |
+
'ਭਾਰਤ',
|
957 |
+
'网址',
|
958 |
+
'游戏',
|
959 |
+
'vermögensberater',
|
960 |
+
'vermögensberatung',
|
961 |
+
'企业',
|
962 |
+
'مصر',
|
963 |
+
'قطر',
|
964 |
+
'广东',
|
965 |
+
'இலங்கை',
|
966 |
+
'இந்தியா',
|
967 |
+
'հայ',
|
968 |
+
'新加坡',
|
969 |
+
'فلسطين',
|
970 |
+
'テスト',
|
971 |
+
'政务',
|
972 |
+
);
|
973 |
+
|
974 |
+
/**
|
975 |
+
* @var string
|
976 |
+
*/
|
977 |
+
protected $_tld;
|
978 |
+
|
979 |
+
/**
|
980 |
+
* Array for valid Idns
|
981 |
+
* @see http://www.iana.org/domains/idn-tables/ Official list of supported IDN Chars
|
982 |
+
* (.AC) Ascension Island http://www.nic.ac/pdf/AC-IDN-Policy.pdf
|
983 |
+
* (.AR) Argentinia http://www.nic.ar/faqidn.html
|
984 |
+
* (.AS) American Samoa http://www.nic.as/idn/chars.cfm
|
985 |
+
* (.AT) Austria http://www.nic.at/en/service/technical_information/idn/charset_converter/
|
986 |
+
* (.BIZ) International http://www.iana.org/domains/idn-tables/
|
987 |
+
* (.BR) Brazil http://registro.br/faq/faq6.html
|
988 |
+
* (.BV) Bouvett Island http://www.norid.no/domeneregistrering/idn/idn_nyetegn.en.html
|
989 |
+
* (.CA) Canada http://www.iana.org/domains/idn-tables/tables/ca_fr_1.0.html
|
990 |
+
* (.CAT) Catalan http://www.iana.org/domains/idn-tables/tables/cat_ca_1.0.html
|
991 |
+
* (.CH) Switzerland https://nic.switch.ch/reg/ocView.action?res=EF6GW2JBPVTG67DLNIQXU234MN6SC33JNQQGI7L6#anhang1
|
992 |
+
* (.CL) Chile http://www.iana.org/domains/idn-tables/tables/cl_latn_1.0.html
|
993 |
+
* (.COM) International http://www.verisign.com/information-services/naming-services/internationalized-domain-names/index.html
|
994 |
+
* (.DE) Germany http://www.denic.de/en/domains/idns/liste.html
|
995 |
+
* (.DK) Danmark http://www.dk-hostmaster.dk/index.php?id=151
|
996 |
+
* (.ES) Spain https://www.nic.es/media/2008-05/1210147705287.pdf
|
997 |
+
* (.FI) Finland http://www.ficora.fi/en/index/palvelut/fiverkkotunnukset/aakkostenkaytto.html
|
998 |
+
* (.GR) Greece https://grweb.ics.forth.gr/CharacterTable1_en.jsp
|
999 |
+
* (.HU) Hungary http://www.domain.hu/domain/English/szabalyzat/szabalyzat.html
|
1000 |
+
* (.INFO) International http://www.nic.info/info/idn
|
1001 |
+
* (.IO) British Indian Ocean Territory http://www.nic.io/IO-IDN-Policy.pdf
|
1002 |
+
* (.IR) Iran http://www.nic.ir/Allowable_Characters_dot-iran
|
1003 |
+
* (.IS) Iceland http://www.isnic.is/domain/rules.php
|
1004 |
+
* (.KR) Korea http://www.iana.org/domains/idn-tables/tables/kr_ko-kr_1.0.html
|
1005 |
+
* (.LI) Liechtenstein https://nic.switch.ch/reg/ocView.action?res=EF6GW2JBPVTG67DLNIQXU234MN6SC33JNQQGI7L6#anhang1
|
1006 |
+
* (.LT) Lithuania http://www.domreg.lt/static/doc/public/idn_symbols-en.pdf
|
1007 |
+
* (.MD) Moldova http://www.register.md/
|
1008 |
+
* (.MUSEUM) International http://www.iana.org/domains/idn-tables/tables/museum_latn_1.0.html
|
1009 |
+
* (.NET) International http://www.verisign.com/information-services/naming-services/internationalized-domain-names/index.html
|
1010 |
+
* (.NO) Norway http://www.norid.no/domeneregistrering/idn/idn_nyetegn.en.html
|
1011 |
+
* (.NU) Niue http://www.worldnames.net/
|
1012 |
+
* (.ORG) International http://www.pir.org/index.php?db=content/FAQs&tbl=FAQs_Registrant&id=2
|
1013 |
+
* (.PE) Peru https://www.nic.pe/nuevas_politicas_faq_2.php
|
1014 |
+
* (.PL) Poland http://www.dns.pl/IDN/allowed_character_sets.pdf
|
1015 |
+
* (.PR) Puerto Rico http://www.nic.pr/idn_rules.asp
|
1016 |
+
* (.PT) Portugal https://online.dns.pt/dns_2008/do?com=DS;8216320233;111;+PAGE(4000058)+K-CAT-CODIGO(C.125)+RCNT(100);
|
1017 |
+
* (.RU) Russia http://www.iana.org/domains/idn-tables/tables/ru_ru-ru_1.0.html
|
1018 |
+
* (.RS) Serbia http://www.iana.org/domains/idn-tables/tables/rs_sr-rs_1.0.pdf
|
1019 |
+
* (.SA) Saudi Arabia http://www.iana.org/domains/idn-tables/tables/sa_ar_1.0.html
|
1020 |
+
* (.SE) Sweden http://www.iis.se/english/IDN_campaignsite.shtml?lang=en
|
1021 |
+
* (.SH) Saint Helena http://www.nic.sh/SH-IDN-Policy.pdf
|
1022 |
+
* (.SJ) Svalbard and Jan Mayen http://www.norid.no/domeneregistrering/idn/idn_nyetegn.en.html
|
1023 |
+
* (.TH) Thailand http://www.iana.org/domains/idn-tables/tables/th_th-th_1.0.html
|
1024 |
+
* (.TM) Turkmenistan http://www.nic.tm/TM-IDN-Policy.pdf
|
1025 |
+
* (.TR) Turkey https://www.nic.tr/index.php
|
1026 |
+
* (.UA) Ukraine http://www.iana.org/domains/idn-tables/tables/ua_cyrl_1.2.html
|
1027 |
+
* (.VE) Venice http://www.iana.org/domains/idn-tables/tables/ve_es_1.0.html
|
1028 |
+
* (.VN) Vietnam http://www.vnnic.vn/english/5-6-300-2-2-04-20071115.htm#1.%20Introduction
|
1029 |
+
*
|
1030 |
+
* @var array
|
1031 |
+
*/
|
1032 |
+
protected $_validIdns = array(
|
1033 |
+
'AC' => array(1 => '/^[\x{002d}0-9a-zà-öø-ÿāăąćĉċčďđēėęěĝġģĥħīįĵķĺļľŀłńņňŋőœŕŗřśŝşšţťŧūŭůűųŵŷźżž]{1,63}$/iu'),
|
1034 |
+
'AR' => array(1 => '/^[\x{002d}0-9a-zà-ãç-êìíñ-õü]{1,63}$/iu'),
|
1035 |
+
'AS' => array(1 => '/^[\x{002d}0-9a-zà-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıĵķĸĺļľłńņňŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźż]{1,63}$/iu'),
|
1036 |
+
'AT' => array(1 => '/^[\x{002d}0-9a-zà-öø-ÿœšž]{1,63}$/iu'),
|
1037 |
+
'BIZ' => 'Zend/Validate/Hostname/Biz.php',
|
1038 |
+
'BR' => array(1 => '/^[\x{002d}0-9a-zà-ãçéíó-õúü]{1,63}$/iu'),
|
1039 |
+
'BV' => array(1 => '/^[\x{002d}0-9a-zàáä-éêñ-ôöøüčđńŋšŧž]{1,63}$/iu'),
|
1040 |
+
'CA' => array(1 => '/^[\x{002d}0-9a-zàâæçéèêëîïôœùûüÿ\x{00E0}\x{00E2}\x{00E7}\x{00E8}\x{00E9}\x{00EA}\x{00EB}\x{00EE}\x{00EF}\x{00F4}\x{00F9}\x{00FB}\x{00FC}\x{00E6}\x{0153}\x{00FF}]{1,63}$/iu'),
|
1041 |
+
'CAT' => array(1 => '/^[\x{002d}0-9a-z·àç-éíïòóúü]{1,63}$/iu'),
|
1042 |
+
'CH' => array(1 => '/^[\x{002d}0-9a-zà-öø-ÿœ]{1,63}$/iu'),
|
1043 |
+
'CL' => array(1 => '/^[\x{002d}0-9a-záéíñóúü]{1,63}$/iu'),
|
1044 |
+
'CN' => 'Zend/Validate/Hostname/Cn.php',
|
1045 |
+
'COM' => 'Zend/Validate/Hostname/Com.php',
|
1046 |
+
'DE' => array(1 => '/^[\x{002d}0-9a-zà-öø-ÿăąāćĉčċďđĕěėęēğĝġģĥħĭĩįīıĵķĺľļłńňņŋŏőōœĸŕřŗśŝšşťßţŧŭůűũųūŵŷźžż]{1,63}$/iu'),
|
1047 |
+
'DK' => array(1 => '/^[\x{002d}0-9a-zäéöüæøå]{1,63}$/iu'),
|
1048 |
+
'ES' => array(1 => '/^[\x{002d}0-9a-zàáçèéíïñòóúü·]{1,63}$/iu'),
|
1049 |
+
'EU' => array(1 => '/^[\x{002d}0-9a-zà-öø-ÿ]{1,63}$/iu',
|
1050 |
+
2 => '/^[\x{002d}0-9a-zāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıĵķĺļľŀłńņňʼnŋōŏőœŕŗřśŝšťŧũūŭůűųŵŷźżž]{1,63}$/iu',
|
1051 |
+
3 => '/^[\x{002d}0-9a-zșț]{1,63}$/iu',
|
1052 |
+
4 => '/^[\x{002d}0-9a-zΐάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ]{1,63}$/iu',
|
1053 |
+
5 => '/^[\x{002d}0-9a-zабвгдежзийклмнопрстуфхцчшщъыьэюя]{1,63}$/iu',
|
1054 |
+
6 => '/^[\x{002d}0-9a-zἀ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ὼώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷῂῃῄῆῇῐ-ῒΐῖῗῠ-ῧῲῳῴῶῷ]{1,63}$/iu'),
|
1055 |
+
'FI' => array(1 => '/^[\x{002d}0-9a-zäåö]{1,63}$/iu'),
|
1056 |
+
'GR' => array(1 => '/^[\x{002d}0-9a-zΆΈΉΊΌΎ-ΡΣ-ώἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼῂῃῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲῳῴῶ-ῼ]{1,63}$/iu'),
|
1057 |
+
'HK' => 'Zend/Validate/Hostname/Cn.php',
|
1058 |
+
'HU' => array(1 => '/^[\x{002d}0-9a-záéíóöúüőű]{1,63}$/iu'),
|
1059 |
+
'IL' => array(1 => '/^[\x{002d}0-9\x{05D0}-\x{05EA}]{1,63}$/iu',
|
1060 |
+
2 => '/^[\x{002d}0-9a-z]{1,63}$/i'),
|
1061 |
+
'INFO'=> array(1 => '/^[\x{002d}0-9a-zäåæéöøü]{1,63}$/iu',
|
1062 |
+
2 => '/^[\x{002d}0-9a-záéíóöúüőű]{1,63}$/iu',
|
1063 |
+
3 => '/^[\x{002d}0-9a-záæéíðóöúýþ]{1,63}$/iu',
|
1064 |
+
4 => '/^[\x{AC00}-\x{D7A3}]{1,17}$/iu',
|
1065 |
+
5 => '/^[\x{002d}0-9a-zāčēģīķļņōŗšūž]{1,63}$/iu',
|
1066 |
+
6 => '/^[\x{002d}0-9a-ząčėęįšūųž]{1,63}$/iu',
|
1067 |
+
7 => '/^[\x{002d}0-9a-zóąćęłńśźż]{1,63}$/iu',
|
1068 |
+
8 => '/^[\x{002d}0-9a-záéíñóúü]{1,63}$/iu'),
|
1069 |
+
'IO' => array(1 => '/^[\x{002d}0-9a-zà-öø-ÿăąāćĉčċďđĕěėęēğĝġģĥħĭĩįīıĵķĺľļłńňņŋŏőōœĸŕřŗśŝšşťţŧŭůűũųūŵŷźžż]{1,63}$/iu'),
|
1070 |
+
'IS' => array(1 => '/^[\x{002d}0-9a-záéýúíóþæöð]{1,63}$/iu'),
|
1071 |
+
'IT' => array(1 => '/^[\x{002d}0-9a-zàâäèéêëìîïòôöùûüæœçÿß-]{1,63}$/iu'),
|
1072 |
+
'JP' => 'Zend/Validate/Hostname/Jp.php',
|
1073 |
+
'KR' => array(1 => '/^[\x{AC00}-\x{D7A3}]{1,17}$/iu'),
|
1074 |
+
'LI' => array(1 => '/^[\x{002d}0-9a-zà-öø-ÿœ]{1,63}$/iu'),
|
1075 |
+
'LT' => array(1 => '/^[\x{002d}0-9ąčęėįšųūž]{1,63}$/iu'),
|
1076 |
+
'MD' => array(1 => '/^[\x{002d}0-9ăâîşţ]{1,63}$/iu'),
|
1077 |
+
'MUSEUM' => array(1 => '/^[\x{002d}0-9a-zà-öø-ÿāăąćċčďđēėęěğġģħīįıķĺļľłńņňŋōőœŕŗřśşšţťŧūůűųŵŷźżžǎǐǒǔ\x{01E5}\x{01E7}\x{01E9}\x{01EF}ə\x{0292}ẁẃẅỳ]{1,63}$/iu'),
|
1078 |
+
'NET' => 'Zend/Validate/Hostname/Com.php',
|
1079 |
+
'NO' => array(1 => '/^[\x{002d}0-9a-zàáä-éêñ-ôöøüčđńŋšŧž]{1,63}$/iu'),
|
1080 |
+
'NU' => 'Zend/Validate/Hostname/Com.php',
|
1081 |
+
'ORG' => array(1 => '/^[\x{002d}0-9a-záéíñóúü]{1,63}$/iu',
|
1082 |
+
2 => '/^[\x{002d}0-9a-zóąćęłńśźż]{1,63}$/iu',
|
1083 |
+
3 => '/^[\x{002d}0-9a-záäåæéëíðóöøúüýþ]{1,63}$/iu',
|
1084 |
+
4 => '/^[\x{002d}0-9a-záéíóöúüőű]{1,63}$/iu',
|
1085 |
+
5 => '/^[\x{002d}0-9a-ząčėęįšūųž]{1,63}$/iu',
|
1086 |
+
6 => '/^[\x{AC00}-\x{D7A3}]{1,17}$/iu',
|
1087 |
+
7 => '/^[\x{002d}0-9a-zāčēģīķļņōŗšūž]{1,63}$/iu'),
|
1088 |
+
'PE' => array(1 => '/^[\x{002d}0-9a-zñáéíóúü]{1,63}$/iu'),
|
1089 |
+
'PL' => array(1 => '/^[\x{002d}0-9a-zāčēģīķļņōŗšūž]{1,63}$/iu',
|
1090 |
+
2 => '/^[\x{002d}а-ик-ш\x{0450}ѓѕјљњќџ]{1,63}$/iu',
|
1091 |
+
3 => '/^[\x{002d}0-9a-zâîăşţ]{1,63}$/iu',
|
1092 |
+
4 => '/^[\x{002d}0-9а-яё\x{04C2}]{1,63}$/iu',
|
1093 |
+
5 => '/^[\x{002d}0-9a-zàáâèéêìíîòóôùúûċġħż]{1,63}$/iu',
|
1094 |
+
6 => '/^[\x{002d}0-9a-zàäåæéêòóôöøü]{1,63}$/iu',
|
1095 |
+
7 => '/^[\x{002d}0-9a-zóąćęłńśźż]{1,63}$/iu',
|
1096 |
+
8 => '/^[\x{002d}0-9a-zàáâãçéêíòóôõúü]{1,63}$/iu',
|
1097 |
+
9 => '/^[\x{002d}0-9a-zâîăşţ]{1,63}$/iu',
|
1098 |
+
10=> '/^[\x{002d}0-9a-záäéíóôúýčďĺľňŕšťž]{1,63}$/iu',
|
1099 |
+
11=> '/^[\x{002d}0-9a-zçë]{1,63}$/iu',
|
1100 |
+
12=> '/^[\x{002d}0-9а-ик-шђјљњћџ]{1,63}$/iu',
|
1101 |
+
13=> '/^[\x{002d}0-9a-zćčđšž]{1,63}$/iu',
|
1102 |
+
14=> '/^[\x{002d}0-9a-zâçöûüğış]{1,63}$/iu',
|
1103 |
+
15=> '/^[\x{002d}0-9a-záéíñóúü]{1,63}$/iu',
|
1104 |
+
16=> '/^[\x{002d}0-9a-zäõöüšž]{1,63}$/iu',
|
1105 |
+
17=> '/^[\x{002d}0-9a-zĉĝĥĵŝŭ]{1,63}$/iu',
|
1106 |
+
18=> '/^[\x{002d}0-9a-zâäéëîô]{1,63}$/iu',
|
1107 |
+
19=> '/^[\x{002d}0-9a-zàáâäåæçèéêëìíîïðñòôöøùúûüýćčłńřśš]{1,63}$/iu',
|
1108 |
+
20=> '/^[\x{002d}0-9a-zäåæõöøüšž]{1,63}$/iu',
|
1109 |
+
21=> '/^[\x{002d}0-9a-zàáçèéìíòóùú]{1,63}$/iu',
|
1110 |
+
22=> '/^[\x{002d}0-9a-zàáéíóöúüőű]{1,63}$/iu',
|
1111 |
+
23=> '/^[\x{002d}0-9ΐά-ώ]{1,63}$/iu',
|
1112 |
+
24=> '/^[\x{002d}0-9a-zàáâåæçèéêëðóôöøüþœ]{1,63}$/iu',
|
1113 |
+
25=> '/^[\x{002d}0-9a-záäéíóöúüýčďěňřšťůž]{1,63}$/iu',
|
1114 |
+
26=> '/^[\x{002d}0-9a-z·àçèéíïòóúü]{1,63}$/iu',
|
1115 |
+
27=> '/^[\x{002d}0-9а-ъьюя\x{0450}\x{045D}]{1,63}$/iu',
|
1116 |
+
28=> '/^[\x{002d}0-9а-яёіў]{1,63}$/iu',
|
1117 |
+
29=> '/^[\x{002d}0-9a-ząčėęįšūųž]{1,63}$/iu',
|
1118 |
+
30=> '/^[\x{002d}0-9a-záäåæéëíðóöøúüýþ]{1,63}$/iu',
|
1119 |
+
31=> '/^[\x{002d}0-9a-zàâæçèéêëîïñôùûüÿœ]{1,63}$/iu',
|
1120 |
+
32=> '/^[\x{002d}0-9а-щъыьэюяёєіїґ]{1,63}$/iu',
|
1121 |
+
33=> '/^[\x{002d}0-9א-ת]{1,63}$/iu'),
|
1122 |
+
'PR' => array(1 => '/^[\x{002d}0-9a-záéíóúñäëïüöâêîôûàèùæçœãõ]{1,63}$/iu'),
|
1123 |
+
'PT' => array(1 => '/^[\x{002d}0-9a-záàâãçéêíóôõú]{1,63}$/iu'),
|
1124 |
+
'RS' => array(1 => '/^[\x{002D}\x{0030}-\x{0039}\x{0061}-\x{007A}\x{0107}\x{010D}\x{0111}\x{0161}\x{017E}]{1,63}$/iu)'),
|
1125 |
+
'RU' => array(1 => '/^[\x{002d}0-9а-яё]{1,63}$/iu'),
|
1126 |
+
'SA' => array(1 => '/^[\x{002d}.0-9\x{0621}-\x{063A}\x{0641}-\x{064A}\x{0660}-\x{0669}]{1,63}$/iu'),
|
1127 |
+
'SE' => array(1 => '/^[\x{002d}0-9a-zäåéöü]{1,63}$/iu'),
|
1128 |
+
'SH' => array(1 => '/^[\x{002d}0-9a-zà-öø-ÿăąāćĉčċďđĕěėęēğĝġģĥħĭĩįīıĵķĺľļłńňņŋŏőōœĸŕřŗśŝšşťţŧŭůűũųūŵŷźžż]{1,63}$/iu'),
|
1129 |
+
'SI' => array(
|
1130 |
+
1 => '/^[\x{002d}0-9a-zà-öø-ÿ]{1,63}$/iu',
|
1131 |
+
2 => '/^[\x{002d}0-9a-zāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıĵķĺļľŀłńņňʼnŋōŏőœŕŗřśŝšťŧũūŭůűųŵŷźżž]{1,63}$/iu',
|
1132 |
+
3 => '/^[\x{002d}0-9a-zșț]{1,63}$/iu'),
|
1133 |
+
'SJ' => array(1 => '/^[\x{002d}0-9a-zàáä-éêñ-ôöøüčđńŋšŧž]{1,63}$/iu'),
|
1134 |
+
'TH' => array(1 => '/^[\x{002d}0-9a-z\x{0E01}-\x{0E3A}\x{0E40}-\x{0E4D}\x{0E50}-\x{0E59}]{1,63}$/iu'),
|
1135 |
+
'TM' => array(1 => '/^[\x{002d}0-9a-zà-öø-ÿāăąćĉċčďđēėęěĝġģĥħīįĵķĺļľŀłńņňŋőœŕŗřśŝşšţťŧūŭůűųŵŷźżž]{1,63}$/iu'),
|
1136 |
+
'TW' => 'Zend/Validate/Hostname/Cn.php',
|
1137 |
+
'TR' => array(1 => '/^[\x{002d}0-9a-zğıüşöç]{1,63}$/iu'),
|
1138 |
+
'UA' => array(1 => '/^[\x{002d}0-9a-zабвгдежзийклмнопрстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџґӂʼ]{1,63}$/iu'),
|
1139 |
+
'VE' => array(1 => '/^[\x{002d}0-9a-záéíóúüñ]{1,63}$/iu'),
|
1140 |
+
'VN' => array(1 => '/^[ÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚÝàáâãèéêìíòóôõùúýĂăĐđĨĩŨũƠơƯư\x{1EA0}-\x{1EF9}]{1,63}$/iu'),
|
1141 |
+
'мон' => array(1 => '/^[\x{002d}0-9\x{0430}-\x{044F}]{1,63}$/iu'),
|
1142 |
+
'срб' => array(1 => '/^[\x{002d}0-9а-ик-шђјљњћџ]{1,63}$/iu'),
|
1143 |
+
'сайт' => array(1 => '/^[\x{002d}0-9а-яёіїѝйўґг]{1,63}$/iu'),
|
1144 |
+
'онлайн' => array(1 => '/^[\x{002d}0-9а-яёіїѝйўґг]{1,63}$/iu'),
|
1145 |
+
'中国' => 'Zend/Validate/Hostname/Cn.php',
|
1146 |
+
'中國' => 'Zend/Validate/Hostname/Cn.php',
|
1147 |
+
'ලංකා' => array(1 => '/^[\x{0d80}-\x{0dff}]{1,63}$/iu'),
|
1148 |
+
'香港' => 'Zend/Validate/Hostname/Cn.php',
|
1149 |
+
'台湾' => 'Zend/Validate/Hostname/Cn.php',
|
1150 |
+
'台灣' => 'Zend/Validate/Hostname/Cn.php',
|
1151 |
+
'امارات' => array(1 => '/^[\x{0621}-\x{0624}\x{0626}-\x{063A}\x{0641}\x{0642}\x{0644}-\x{0648}\x{067E}\x{0686}\x{0698}\x{06A9}\x{06AF}\x{06CC}\x{06F0}-\x{06F9}]{1,30}$/iu'),
|
1152 |
+
'الاردن' => array(1 => '/^[\x{0621}-\x{0624}\x{0626}-\x{063A}\x{0641}\x{0642}\x{0644}-\x{0648}\x{067E}\x{0686}\x{0698}\x{06A9}\x{06AF}\x{06CC}\x{06F0}-\x{06F9}]{1,30}$/iu'),
|
1153 |
+
'السعودية' => array(1 => '/^[\x{0621}-\x{0624}\x{0626}-\x{063A}\x{0641}\x{0642}\x{0644}-\x{0648}\x{067E}\x{0686}\x{0698}\x{06A9}\x{06AF}\x{06CC}\x{06F0}-\x{06F9}]{1,30}$/iu'),
|
1154 |
+
'ไทย' => array(1 => '/^[\x{002d}0-9a-z\x{0E01}-\x{0E3A}\x{0E40}-\x{0E4D}\x{0E50}-\x{0E59}]{1,63}$/iu'),
|
1155 |
+
'рф' => array(1 => '/^[\x{002d}0-9а-яё]{1,63}$/iu'),
|
1156 |
+
'تونس' => array(1 => '/^[\x{0621}-\x{0624}\x{0626}-\x{063A}\x{0641}\x{0642}\x{0644}-\x{0648}\x{067E}\x{0686}\x{0698}\x{06A9}\x{06AF}\x{06CC}\x{06F0}-\x{06F9}]{1,30}$/iu'),
|
1157 |
+
'مصر' => array(1 => '/^[\x{0621}-\x{0624}\x{0626}-\x{063A}\x{0641}\x{0642}\x{0644}-\x{0648}\x{067E}\x{0686}\x{0698}\x{06A9}\x{06AF}\x{06CC}\x{06F0}-\x{06F9}]{1,30}$/iu'),
|
1158 |
+
'இலங்கை' => array(1 => '/^[\x{0b80}-\x{0bff}]{1,63}$/iu'),
|
1159 |
+
'فلسطين' => array(1 => '/^[\x{0621}-\x{0624}\x{0626}-\x{063A}\x{0641}\x{0642}\x{0644}-\x{0648}\x{067E}\x{0686}\x{0698}\x{06A9}\x{06AF}\x{06CC}\x{06F0}-\x{06F9}]{1,30}$/iu'),
|
1160 |
+
'شبكة' => array(1 => '/^[\x{0621}-\x{0624}\x{0626}-\x{063A}\x{0641}\x{0642}\x{0644}-\x{0648}\x{067E}\x{0686}\x{0698}\x{06A9}\x{06AF}\x{06CC}\x{06F0}-\x{06F9}]{1,30}$/iu'),
|
1161 |
+
);
|
1162 |
+
|
1163 |
+
protected $_idnLength = array(
|
1164 |
+
'BIZ' => array(5 => 17, 11 => 15, 12 => 20),
|
1165 |
+
'CN' => array(1 => 20),
|
1166 |
+
'COM' => array(3 => 17, 5 => 20),
|
1167 |
+
'HK' => array(1 => 15),
|
1168 |
+
'INFO'=> array(4 => 17),
|
1169 |
+
'KR' => array(1 => 17),
|
1170 |
+
'NET' => array(3 => 17, 5 => 20),
|
1171 |
+
'ORG' => array(6 => 17),
|
1172 |
+
'TW' => array(1 => 20),
|
1173 |
+
'ایران' => array(1 => 30),
|
1174 |
+
'中国' => array(1 => 20),
|
1175 |
+
'公司' => array(1 => 20),
|
1176 |
+
'网络' => array(1 => 20),
|
1177 |
+
);
|
1178 |
+
|
1179 |
+
protected $_options = array(
|
1180 |
+
'allow' => self::ALLOW_DNS,
|
1181 |
+
'idn' => true,
|
1182 |
+
'tld' => true,
|
1183 |
+
'ip' => null
|
1184 |
+
);
|
1185 |
+
|
1186 |
+
/**
|
1187 |
+
* Sets validator options
|
1188 |
+
*
|
1189 |
+
* @see http://www.iana.org/cctld/specifications-policies-cctlds-01apr02.htm Technical Specifications for ccTLDs
|
1190 |
+
* @param array $options Validator options
|
1191 |
+
*/
|
1192 |
+
public function __construct($options = array())
|
1193 |
+
{
|
1194 |
+
if ($options instanceof Zend_Config) {
|
1195 |
+
$options = $options->toArray();
|
1196 |
+
} else if (!is_array($options)) {
|
1197 |
+
$options = func_get_args();
|
1198 |
+
$temp['allow'] = array_shift($options);
|
1199 |
+
if (!empty($options)) {
|
1200 |
+
$temp['idn'] = array_shift($options);
|
1201 |
+
}
|
1202 |
+
|
1203 |
+
if (!empty($options)) {
|
1204 |
+
$temp['tld'] = array_shift($options);
|
1205 |
+
}
|
1206 |
+
|
1207 |
+
if (!empty($options)) {
|
1208 |
+
$temp['ip'] = array_shift($options);
|
1209 |
+
}
|
1210 |
+
|
1211 |
+
$options = $temp;
|
1212 |
+
}
|
1213 |
+
|
1214 |
+
$options += $this->_options;
|
1215 |
+
$this->setOptions($options);
|
1216 |
+
}
|
1217 |
+
|
1218 |
+
/**
|
1219 |
+
* Returns all set options
|
1220 |
+
*
|
1221 |
+
* @return array
|
1222 |
+
*/
|
1223 |
+
public function getOptions()
|
1224 |
+
{
|
1225 |
+
return $this->_options;
|
1226 |
+
}
|
1227 |
+
|
1228 |
+
/**
|
1229 |
+
* Sets the options for this validator
|
1230 |
+
*
|
1231 |
+
* @param array $options
|
1232 |
+
* @return Zend_Validate_Hostname
|
1233 |
+
*/
|
1234 |
+
public function setOptions($options)
|
1235 |
+
{
|
1236 |
+
if (array_key_exists('allow', $options)) {
|
1237 |
+
$this->setAllow($options['allow']);
|
1238 |
+
}
|
1239 |
+
|
1240 |
+
if (array_key_exists('idn', $options)) {
|
1241 |
+
$this->setValidateIdn($options['idn']);
|
1242 |
+
}
|
1243 |
+
|
1244 |
+
if (array_key_exists('tld', $options)) {
|
1245 |
+
$this->setValidateTld($options['tld']);
|
1246 |
+
}
|
1247 |
+
|
1248 |
+
if (array_key_exists('ip', $options)) {
|
1249 |
+
$this->setIpValidator($options['ip']);
|
1250 |
+
}
|
1251 |
+
|
1252 |
+
return $this;
|
1253 |
+
}
|
1254 |
+
|
1255 |
+
/**
|
1256 |
+
* Returns the set ip validator
|
1257 |
+
*
|
1258 |
+
* @return Zend_Validate_Ip
|
1259 |
+
*/
|
1260 |
+
public function getIpValidator()
|
1261 |
+
{
|
1262 |
+
return $this->_options['ip'];
|
1263 |
+
}
|
1264 |
+
|
1265 |
+
/**
|
1266 |
+
* @param Zend_Validate_Ip $ipValidator OPTIONAL
|
1267 |
+
* @return Zend_Validate_Hostname
|
1268 |
+
*/
|
1269 |
+
public function setIpValidator(Zend_Validate_Ip $ipValidator = null)
|
1270 |
+
{
|
1271 |
+
if ($ipValidator === null) {
|
1272 |
+
$ipValidator = new Zend_Validate_Ip();
|
1273 |
+
}
|
1274 |
+
|
1275 |
+
$this->_options['ip'] = $ipValidator;
|
1276 |
+
return $this;
|
1277 |
+
}
|
1278 |
+
|
1279 |
+
/**
|
1280 |
+
* Returns the allow option
|
1281 |
+
*
|
1282 |
+
* @return integer
|
1283 |
+
*/
|
1284 |
+
public function getAllow()
|
1285 |
+
{
|
1286 |
+
return $this->_options['allow'];
|
1287 |
+
}
|
1288 |
+
|
1289 |
+
/**
|
1290 |
+
* Sets the allow option
|
1291 |
+
*
|
1292 |
+
* @param integer $allow
|
1293 |
+
* @return Zend_Validate_Hostname Provides a fluent interface
|
1294 |
+
*/
|
1295 |
+
public function setAllow($allow)
|
1296 |
+
{
|
1297 |
+
$this->_options['allow'] = $allow;
|
1298 |
+
return $this;
|
1299 |
+
}
|
1300 |
+
|
1301 |
+
/**
|
1302 |
+
* Returns the set idn option
|
1303 |
+
*
|
1304 |
+
* @return boolean
|
1305 |
+
*/
|
1306 |
+
public function getValidateIdn()
|
1307 |
+
{
|
1308 |
+
return $this->_options['idn'];
|
1309 |
+
}
|
1310 |
+
|
1311 |
+
/**
|
1312 |
+
* Set whether IDN domains are validated
|
1313 |
+
*
|
1314 |
+
* This only applies when DNS hostnames are validated
|
1315 |
+
*
|
1316 |
+
* @param boolean $allowed Set allowed to true to validate IDNs, and false to not validate them
|
1317 |
+
* @return $this
|
1318 |
+
*/
|
1319 |
+
public function setValidateIdn ($allowed)
|
1320 |
+
{
|
1321 |
+
$this->_options['idn'] = (bool) $allowed;
|
1322 |
+
return $this;
|
1323 |
+
}
|
1324 |
+
|
1325 |
+
/**
|
1326 |
+
* Returns the set tld option
|
1327 |
+
*
|
1328 |
+
* @return boolean
|
1329 |
+
*/
|
1330 |
+
public function getValidateTld()
|
1331 |
+
{
|
1332 |
+
return $this->_options['tld'];
|
1333 |
+
}
|
1334 |
+
|
1335 |
+
/**
|
1336 |
+
* Set whether the TLD element of a hostname is validated
|
1337 |
+
*
|
1338 |
+
* This only applies when DNS hostnames are validated
|
1339 |
+
*
|
1340 |
+
* @param boolean $allowed Set allowed to true to validate TLDs, and false to not validate them
|
1341 |
+
* @return $this
|
1342 |
+
*/
|
1343 |
+
public function setValidateTld ($allowed)
|
1344 |
+
{
|
1345 |
+
$this->_options['tld'] = (bool) $allowed;
|
1346 |
+
return $this;
|
1347 |
+
}
|
1348 |
+
|
1349 |
+
/**
|
1350 |
+
* Defined by Zend_Validate_Interface
|
1351 |
+
*
|
1352 |
+
* Returns true if and only if the $value is a valid hostname with respect to the current allow option
|
1353 |
+
*
|
1354 |
+
* @param string $value
|
1355 |
+
* @throws Zend_Validate_Exception if a fatal error occurs for validation process
|
1356 |
+
* @return boolean
|
1357 |
+
*/
|
1358 |
+
public function isValid($value)
|
1359 |
+
{
|
1360 |
+
if (!is_string($value)) {
|
1361 |
+
$this->_error(self::INVALID);
|
1362 |
+
return false;
|
1363 |
+
}
|
1364 |
+
|
1365 |
+
$this->_setValue($value);
|
1366 |
+
// Check input against IP address schema
|
1367 |
+
if (preg_match('/^[0-9a-f:.]*$/i', $value) &&
|
1368 |
+
$this->_options['ip']->setTranslator($this->getTranslator())->isValid($value)) {
|
1369 |
+
if (!($this->_options['allow'] & self::ALLOW_IP)) {
|
1370 |
+
$this->_error(self::IP_ADDRESS_NOT_ALLOWED);
|
1371 |
+
return false;
|
1372 |
+
} else {
|
1373 |
+
return true;
|
1374 |
+
}
|
1375 |
+
}
|
1376 |
+
|
1377 |
+
// RFC3986 3.2.2 states:
|
1378 |
+
//
|
1379 |
+
// The rightmost domain label of a fully qualified domain name
|
1380 |
+
// in DNS may be followed by a single "." and should be if it is
|
1381 |
+
// necessary to distinguish between the complete domain name and
|
1382 |
+
// some local domain.
|
1383 |
+
//
|
1384 |
+
// (see ZF-6363)
|
1385 |
+
|
1386 |
+
// Local hostnames are allowed to be partitial (ending '.')
|
1387 |
+
if ($this->_options['allow'] & self::ALLOW_LOCAL) {
|
1388 |
+
if (substr($value, -1) === '.') {
|
1389 |
+
$value = substr($value, 0, -1);
|
1390 |
+
if (substr($value, -1) === '.') {
|
1391 |
+
// Empty hostnames (ending '..') are not allowed
|
1392 |
+
$this->_error(self::INVALID_LOCAL_NAME);
|
1393 |
+
return false;
|
1394 |
+
}
|
1395 |
+
}
|
1396 |
+
}
|
1397 |
+
|
1398 |
+
$domainParts = explode('.', $value);
|
1399 |
+
|
1400 |
+
// Prevent partitial IP V4 adresses (ending '.')
|
1401 |
+
if ((count($domainParts) == 4) && preg_match('/^[0-9.a-e:.]*$/i', $value) &&
|
1402 |
+
$this->_options['ip']->setTranslator($this->getTranslator())->isValid($value)) {
|
1403 |
+
$this->_error(self::INVALID_LOCAL_NAME);
|
1404 |
+
}
|
1405 |
+
|
1406 |
+
// Check input against DNS hostname schema
|
1407 |
+
if ((count($domainParts) > 1) && (strlen($value) >= 4) && (strlen($value) <= 254)) {
|
1408 |
+
$status = false;
|
1409 |
+
|
1410 |
+
$origenc = PHP_VERSION_ID < 50600
|
1411 |
+
? iconv_get_encoding('internal_encoding')
|
1412 |
+
: ini_get('default_charset');
|
1413 |
+
if (PHP_VERSION_ID < 50600) {
|
1414 |
+
iconv_set_encoding('internal_encoding', 'UTF-8');
|
1415 |
+
} else {
|
1416 |
+
ini_set('default_charset', 'UTF-8');
|
1417 |
+
}
|
1418 |
+
do {
|
1419 |
+
// First check TLD
|
1420 |
+
$matches = array();
|
1421 |
+
if (preg_match('/([^.]{2,63})$/iu', end($domainParts), $matches)
|
1422 |
+
|| (array_key_exists(end($domainParts), $this->_validIdns))) {
|
1423 |
+
reset($domainParts);
|
1424 |
+
|
1425 |
+
// Hostname characters are: *(label dot)(label dot label); max 254 chars
|
1426 |
+
// label: id-prefix [*ldh{61} id-prefix]; max 63 chars
|
1427 |
+
// id-prefix: alpha / digit
|
1428 |
+
// ldh: alpha / digit / dash
|
1429 |
+
|
1430 |
+
// Match TLD against known list
|
1431 |
+
$this->_tld = $matches[1];
|
1432 |
+
if ($this->_options['tld']) {
|
1433 |
+
if (!in_array(strtolower($this->_tld), $this->_validTlds)
|
1434 |
+
&& !in_array($this->_tld, $this->_validTlds)
|
1435 |
+
&& !$this->checkDnsRecords($this->_value)
|
1436 |
+
) {
|
1437 |
+
$this->_error(self::UNKNOWN_TLD);
|
1438 |
+
$status = false;
|
1439 |
+
break;
|
1440 |
+
}
|
1441 |
+
// We have already validated that the TLD is fine. We don't want it to go through the below
|
1442 |
+
// checks as new UTF-8 TLDs will incorrectly fail if there is no IDN regex for it.
|
1443 |
+
array_pop($domainParts);
|
1444 |
+
}
|
1445 |
+
|
1446 |
+
/**
|
1447 |
+
* Match against IDN hostnames
|
1448 |
+
* Note: Keep label regex short to avoid issues with long patterns when matching IDN hostnames
|
1449 |
+
* @see Zend_Validate_Hostname_Interface
|
1450 |
+
*/
|
1451 |
+
$regexChars = array(0 => '/^[a-z0-9\x2d]{1,63}$/i');
|
1452 |
+
if ($this->_options['idn'] && isset($this->_validIdns[strtoupper($this->_tld)])) {
|
1453 |
+
if (is_string($this->_validIdns[strtoupper($this->_tld)])) {
|
1454 |
+
$regexChars += include($this->_validIdns[strtoupper($this->_tld)]);
|
1455 |
+
} else {
|
1456 |
+
$regexChars += $this->_validIdns[strtoupper($this->_tld)];
|
1457 |
+
}
|
1458 |
+
}
|
1459 |
+
|
1460 |
+
// Check each hostname part
|
1461 |
+
$check = 0;
|
1462 |
+
foreach ($domainParts as $domainPart) {
|
1463 |
+
// If some domain part is empty (i.e. zend..com), it's invalid
|
1464 |
+
if (empty($domainPart) && $domainPart !== '0') {
|
1465 |
+
$this->_error(self::INVALID_HOSTNAME);
|
1466 |
+
return false;
|
1467 |
+
}
|
1468 |
+
|
1469 |
+
// Decode Punycode domainnames to IDN
|
1470 |
+
if (strpos($domainPart, 'xn--') === 0) {
|
1471 |
+
$domainPart = $this->decodePunycode(substr($domainPart, 4));
|
1472 |
+
if ($domainPart === false) {
|
1473 |
+
return false;
|
1474 |
+
}
|
1475 |
+
}
|
1476 |
+
|
1477 |
+
// Check dash (-) does not start, end or appear in 3rd and 4th positions
|
1478 |
+
if ((strpos($domainPart, '-') === 0)
|
1479 |
+
|| ((strlen($domainPart) > 2) && (strpos($domainPart, '-', 2) == 2) && (strpos($domainPart, '-', 3) == 3))
|
1480 |
+
|| (strpos($domainPart, '-') === (strlen($domainPart) - 1))) {
|
1481 |
+
$this->_error(self::INVALID_DASH);
|
1482 |
+
$status = false;
|
1483 |
+
break 2;
|
1484 |
+
}
|
1485 |
+
|
1486 |
+
// Check each domain part
|
1487 |
+
$checked = false;
|
1488 |
+
foreach($regexChars as $regexKey => $regexChar) {
|
1489 |
+
$status = preg_match($regexChar, $domainPart);
|
1490 |
+
if ($status > 0) {
|
1491 |
+
$length = 63;
|
1492 |
+
if (array_key_exists(strtoupper($this->_tld), $this->_idnLength)
|
1493 |
+
&& (array_key_exists($regexKey, $this->_idnLength[strtoupper($this->_tld)]))) {
|
1494 |
+
$length = $this->_idnLength[strtoupper($this->_tld)];
|
1495 |
+
}
|
1496 |
+
|
1497 |
+
if (iconv_strlen($domainPart, 'UTF-8') > $length) {
|
1498 |
+
$this->_error(self::INVALID_HOSTNAME);
|
1499 |
+
} else {
|
1500 |
+
$checked = true;
|
1501 |
+
break;
|
1502 |
+
}
|
1503 |
+
}
|
1504 |
+
}
|
1505 |
+
|
1506 |
+
if ($checked) {
|
1507 |
+
++$check;
|
1508 |
+
}
|
1509 |
+
}
|
1510 |
+
|
1511 |
+
// If one of the labels doesn't match, the hostname is invalid
|
1512 |
+
if ($check !== count($domainParts)) {
|
1513 |
+
$this->_error(self::INVALID_HOSTNAME_SCHEMA);
|
1514 |
+
$status = false;
|
1515 |
+
}
|
1516 |
+
} else {
|
1517 |
+
// Hostname not long enough
|
1518 |
+
$this->_error(self::UNDECIPHERABLE_TLD);
|
1519 |
+
$status = false;
|
1520 |
+
}
|
1521 |
+
} while (false);
|
1522 |
+
|
1523 |
+
if (PHP_VERSION_ID < 50600) {
|
1524 |
+
iconv_set_encoding('internal_encoding', $origenc);
|
1525 |
+
} else {
|
1526 |
+
ini_set('default_charset', $origenc);
|
1527 |
+
}
|
1528 |
+
// If the input passes as an Internet domain name, and domain names are allowed, then the hostname
|
1529 |
+
// passes validation
|
1530 |
+
if ($status && ($this->_options['allow'] & self::ALLOW_DNS)) {
|
1531 |
+
return true;
|
1532 |
+
}
|
1533 |
+
} else if ($this->_options['allow'] & self::ALLOW_DNS) {
|
1534 |
+
$this->_error(self::INVALID_HOSTNAME);
|
1535 |
+
}
|
1536 |
+
|
1537 |
+
// Check for URI Syntax (RFC3986)
|
1538 |
+
if ($this->_options['allow'] & self::ALLOW_URI) {
|
1539 |
+
if (preg_match("/^([a-zA-Z0-9-._~!$&\'()*+,;=]|%[[:xdigit:]]{2}){1,254}$/i", $value)) {
|
1540 |
+
return true;
|
1541 |
+
} else {
|
1542 |
+
$this->_error(self::INVALID_URI);
|
1543 |
+
}
|
1544 |
+
}
|
1545 |
+
|
1546 |
+
// Check input against local network name schema; last chance to pass validation
|
1547 |
+
$regexLocal = '/^(([a-zA-Z0-9\x2d]{1,63}\x2e)*[a-zA-Z0-9\x2d]{1,63}[\x2e]{0,1}){1,254}$/';
|
1548 |
+
$status = @preg_match($regexLocal, $value);
|
1549 |
+
|
1550 |
+
// If the input passes as a local network name, and local network names are allowed, then the
|
1551 |
+
// hostname passes validation
|
1552 |
+
$allowLocal = $this->_options['allow'] & self::ALLOW_LOCAL;
|
1553 |
+
if ($status && $allowLocal) {
|
1554 |
+
return true;
|
1555 |
+
}
|
1556 |
+
|
1557 |
+
// If the input does not pass as a local network name, add a message
|
1558 |
+
if (!$status) {
|
1559 |
+
$this->_error(self::INVALID_LOCAL_NAME);
|
1560 |
+
}
|
1561 |
+
|
1562 |
+
// If local network names are not allowed, add a message
|
1563 |
+
if ($status && !$allowLocal) {
|
1564 |
+
$this->_error(self::LOCAL_NAME_NOT_ALLOWED);
|
1565 |
+
}
|
1566 |
+
|
1567 |
+
return false;
|
1568 |
+
}
|
1569 |
+
|
1570 |
+
/**
|
1571 |
+
* Decodes a punycode encoded string to it's original utf8 string
|
1572 |
+
* In case of a decoding failure the original string is returned
|
1573 |
+
*
|
1574 |
+
* @param string $encoded Punycode encoded string to decode
|
1575 |
+
* @return string
|
1576 |
+
*/
|
1577 |
+
protected function decodePunycode($encoded)
|
1578 |
+
{
|
1579 |
+
if (!preg_match('/^[a-z0-9-]+$/i', $encoded)) {
|
1580 |
+
// no punycode encoded string
|
1581 |
+
$this->_error(self::CANNOT_DECODE_PUNYCODE);
|
1582 |
+
return false;
|
1583 |
+
}
|
1584 |
+
|
1585 |
+
$decoded = array();
|
1586 |
+
$separator = strrpos($encoded, '-');
|
1587 |
+
if ($separator > 0) {
|
1588 |
+
for ($x = 0; $x < $separator; ++$x) {
|
1589 |
+
// prepare decoding matrix
|
1590 |
+
$decoded[] = ord($encoded[$x]);
|
1591 |
+
}
|
1592 |
+
}
|
1593 |
+
|
1594 |
+
$lengthd = count($decoded);
|
1595 |
+
$lengthe = strlen($encoded);
|
1596 |
+
|
1597 |
+
// decoding
|
1598 |
+
$init = true;
|
1599 |
+
$base = 72;
|
1600 |
+
$index = 0;
|
1601 |
+
$char = 0x80;
|
1602 |
+
|
1603 |
+
for ($indexe = ($separator) ? ($separator + 1) : 0; $indexe < $lengthe; ++$lengthd) {
|
1604 |
+
for ($old_index = $index, $pos = 1, $key = 36; 1 ; $key += 36) {
|
1605 |
+
$hex = ord($encoded[$indexe++]);
|
1606 |
+
$digit = ($hex - 48 < 10) ? $hex - 22
|
1607 |
+
: (($hex - 65 < 26) ? $hex - 65
|
1608 |
+
: (($hex - 97 < 26) ? $hex - 97
|
1609 |
+
: 36));
|
1610 |
+
|
1611 |
+
$index += $digit * $pos;
|
1612 |
+
$tag = ($key <= $base) ? 1 : (($key >= $base + 26) ? 26 : ($key - $base));
|
1613 |
+
if ($digit < $tag) {
|
1614 |
+
break;
|
1615 |
+
}
|
1616 |
+
|
1617 |
+
$pos = (int) ($pos * (36 - $tag));
|
1618 |
+
}
|
1619 |
+
|
1620 |
+
$delta = intval($init ? (($index - $old_index) / 700) : (($index - $old_index) / 2));
|
1621 |
+
$delta += intval($delta / ($lengthd + 1));
|
1622 |
+
for ($key = 0; $delta > 910 / 2; $key += 36) {
|
1623 |
+
$delta = intval($delta / 35);
|
1624 |
+
}
|
1625 |
+
|
1626 |
+
$base = intval($key + 36 * $delta / ($delta + 38));
|
1627 |
+
$init = false;
|
1628 |
+
$char += (int) ($index / ($lengthd + 1));
|
1629 |
+
$index %= ($lengthd + 1);
|
1630 |
+
if ($lengthd > 0) {
|
1631 |
+
for ($i = $lengthd; $i > $index; $i--) {
|
1632 |
+
$decoded[$i] = $decoded[($i - 1)];
|
1633 |
+
}
|
1634 |
+
}
|
1635 |
+
|
1636 |
+
$decoded[$index++] = $char;
|
1637 |
+
}
|
1638 |
+
|
1639 |
+
// convert decoded ucs4 to utf8 string
|
1640 |
+
foreach ($decoded as $key => $value) {
|
1641 |
+
if ($value < 128) {
|
1642 |
+
$decoded[$key] = chr($value);
|
1643 |
+
} elseif ($value < (1 << 11)) {
|
1644 |
+
$decoded[$key] = chr(192 + ($value >> 6));
|
1645 |
+
$decoded[$key] .= chr(128 + ($value & 63));
|
1646 |
+
} elseif ($value < (1 << 16)) {
|
1647 |
+
$decoded[$key] = chr(224 + ($value >> 12));
|
1648 |
+
$decoded[$key] .= chr(128 + (($value >> 6) & 63));
|
1649 |
+
$decoded[$key] .= chr(128 + ($value & 63));
|
1650 |
+
} elseif ($value < (1 << 21)) {
|
1651 |
+
$decoded[$key] = chr(240 + ($value >> 18));
|
1652 |
+
$decoded[$key] .= chr(128 + (($value >> 12) & 63));
|
1653 |
+
$decoded[$key] .= chr(128 + (($value >> 6) & 63));
|
1654 |
+
$decoded[$key] .= chr(128 + ($value & 63));
|
1655 |
+
} else {
|
1656 |
+
$this->_error(self::CANNOT_DECODE_PUNYCODE);
|
1657 |
+
return false;
|
1658 |
+
}
|
1659 |
+
}
|
1660 |
+
|
1661 |
+
return implode($decoded);
|
1662 |
+
}
|
1663 |
+
|
1664 |
+
/**
|
1665 |
+
* Returns true if any DNS records corresponding to a given Internet host are found.
|
1666 |
+
* Returns false if no DNS records were found or if an error occurred.
|
1667 |
+
* Checks A-Record.
|
1668 |
+
*
|
1669 |
+
* @param string $hostName
|
1670 |
+
*
|
1671 |
+
* @return bool
|
1672 |
+
*/
|
1673 |
+
protected function checkDnsRecords($hostName)
|
1674 |
+
{
|
1675 |
+
if (function_exists('idn_to_ascii')) {
|
1676 |
+
$result = checkdnsrr(idn_to_ascii($hostName), 'A');
|
1677 |
+
} else {
|
1678 |
+
$idn = new Net_IDNA2();
|
1679 |
+
$result = checkdnsrr($idn->encode($hostName), 'A');
|
1680 |
+
}
|
1681 |
+
|
1682 |
+
return $result;
|
1683 |
+
}
|
1684 |
+
}
|
app/etc/modules/Mage_All.xml
CHANGED
@@ -275,7 +275,7 @@
|
|
275 |
<active>true</active>
|
276 |
<codePool>core</codePool>
|
277 |
<depends>
|
278 |
-
<
|
279 |
</depends>
|
280 |
</Mage_Cms>
|
281 |
<Mage_Reports>
|
@@ -397,5 +397,12 @@
|
|
397 |
<Mage_Core/>
|
398 |
</depends>
|
399 |
</Mage_Index>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
400 |
</modules>
|
401 |
</config>
|
275 |
<active>true</active>
|
276 |
<codePool>core</codePool>
|
277 |
<depends>
|
278 |
+
<Mage_Uploader/>
|
279 |
</depends>
|
280 |
</Mage_Cms>
|
281 |
<Mage_Reports>
|
397 |
<Mage_Core/>
|
398 |
</depends>
|
399 |
</Mage_Index>
|
400 |
+
<Mage_Uploader>
|
401 |
+
<active>true</active>
|
402 |
+
<codePool>core</codePool>
|
403 |
+
<depends>
|
404 |
+
<Mage_Core/>
|
405 |
+
</depends>
|
406 |
+
</Mage_Uploader>
|
407 |
</modules>
|
408 |
</config>
|
cron.php
CHANGED
@@ -44,7 +44,7 @@ Mage::app('admin')->setUseSessionInUrl(false);
|
|
44 |
|
45 |
umask(0);
|
46 |
|
47 |
-
$disabledFuncs = explode(',', ini_get('disable_functions'));
|
48 |
$isShellDisabled = is_array($disabledFuncs) ? in_array('shell_exec', $disabledFuncs) : true;
|
49 |
$isShellDisabled = (stripos(PHP_OS, 'win') === false) ? $isShellDisabled : true;
|
50 |
|
44 |
|
45 |
umask(0);
|
46 |
|
47 |
+
$disabledFuncs = array_map('trim', explode(',', strtolower(ini_get('disable_functions'))));
|
48 |
$isShellDisabled = is_array($disabledFuncs) ? in_array('shell_exec', $disabledFuncs) : true;
|
49 |
$isShellDisabled = (stripos(PHP_OS, 'win') === false) ? $isShellDisabled : true;
|
50 |
|
errors/processor.php
CHANGED
@@ -232,9 +232,12 @@ class Error_Processor
|
|
232 |
}
|
233 |
|
234 |
$isSecure = (!empty($_SERVER['HTTPS'])) && ($_SERVER['HTTPS'] != 'off');
|
235 |
-
$url = ($isSecure ? 'https://' : 'http://') . $host;
|
236 |
|
237 |
-
if (!empty($_SERVER['SERVER_PORT'])
|
|
|
|
|
|
|
238 |
$url .= ':' . $_SERVER['SERVER_PORT'];
|
239 |
}
|
240 |
return $url;
|
@@ -439,10 +442,11 @@ class Error_Processor
|
|
439 |
$this->reportData['url'] = '';
|
440 |
}
|
441 |
else {
|
442 |
-
$this->reportData['url'] = $this->getHostUrl()
|
|
|
443 |
}
|
444 |
|
445 |
-
if ($this->reportData['script_name']) {
|
446 |
$this->_scriptName = $this->reportData['script_name'];
|
447 |
}
|
448 |
}
|
@@ -474,7 +478,7 @@ class Error_Processor
|
|
474 |
|
475 |
if (headers_sent()) {
|
476 |
print '<script type="text/javascript">';
|
477 |
-
print "window.location.href = '{$this->reportUrl}';";
|
478 |
print '</script>';
|
479 |
exit;
|
480 |
}
|
@@ -487,6 +491,7 @@ class Error_Processor
|
|
487 |
*/
|
488 |
public function loadReport($reportId)
|
489 |
{
|
|
|
490 |
$this->reportId = $reportId;
|
491 |
$this->_reportFile = $this->_reportDir . '/' . $reportId;
|
492 |
|
@@ -494,7 +499,14 @@ class Error_Processor
|
|
494 |
header("Location: " . $this->getBaseUrl());
|
495 |
die();
|
496 |
}
|
497 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
498 |
}
|
499 |
|
500 |
/**
|
@@ -510,11 +522,11 @@ class Error_Processor
|
|
510 |
$this->postData['email'] = (isset($_POST['email'])) ? trim(htmlspecialchars($_POST['email'])) : '';
|
511 |
$this->postData['telephone'] = (isset($_POST['telephone'])) ? trim(htmlspecialchars($_POST['telephone'])) : '';
|
512 |
$this->postData['comment'] = (isset($_POST['comment'])) ? trim(htmlspecialchars($_POST['comment'])) : '';
|
|
|
513 |
|
514 |
if (isset($_POST['submit'])) {
|
515 |
if ($this->_validate()) {
|
516 |
-
|
517 |
-
$msg = "URL: {$this->reportData['url']}\n"
|
518 |
. "IP Address: {$this->_getClientIp()}\n"
|
519 |
. "First Name: {$this->postData['firstName']}\n"
|
520 |
. "Last Name: {$this->postData['lastName']}\n"
|
@@ -537,7 +549,7 @@ class Error_Processor
|
|
537 |
} else {
|
538 |
$time = gmdate('Y-m-d H:i:s \G\M\T');
|
539 |
|
540 |
-
$msg = "URL: {$
|
541 |
. "IP Address: {$this->_getClientIp()}\n"
|
542 |
. "Time: {$time}\n"
|
543 |
. "Error:\n{$this->reportData[0]}\n\n"
|
232 |
}
|
233 |
|
234 |
$isSecure = (!empty($_SERVER['HTTPS'])) && ($_SERVER['HTTPS'] != 'off');
|
235 |
+
$url = ($isSecure ? 'https://' : 'http://') . htmlspecialchars($host, ENT_COMPAT | ENT_HTML401, 'UTF-8');
|
236 |
|
237 |
+
if (!empty($_SERVER['SERVER_PORT'])
|
238 |
+
&& preg_match('/\d+/', $_SERVER['SERVER_PORT'])
|
239 |
+
&& !in_array($_SERVER['SERVER_PORT'], array(80, 433))
|
240 |
+
) {
|
241 |
$url .= ':' . $_SERVER['SERVER_PORT'];
|
242 |
}
|
243 |
return $url;
|
442 |
$this->reportData['url'] = '';
|
443 |
}
|
444 |
else {
|
445 |
+
$this->reportData['url'] = $this->getHostUrl()
|
446 |
+
. htmlspecialchars($reportData['url'], ENT_COMPAT | ENT_HTML401, 'UTF-8');
|
447 |
}
|
448 |
|
449 |
+
if (isset($this->reportData['script_name'])) {
|
450 |
$this->_scriptName = $this->reportData['script_name'];
|
451 |
}
|
452 |
}
|
478 |
|
479 |
if (headers_sent()) {
|
480 |
print '<script type="text/javascript">';
|
481 |
+
print "window.location.href = encodeURI('{$this->reportUrl}');";
|
482 |
print '</script>';
|
483 |
exit;
|
484 |
}
|
491 |
*/
|
492 |
public function loadReport($reportId)
|
493 |
{
|
494 |
+
$reportData = false;
|
495 |
$this->reportId = $reportId;
|
496 |
$this->_reportFile = $this->_reportDir . '/' . $reportId;
|
497 |
|
499 |
header("Location: " . $this->getBaseUrl());
|
500 |
die();
|
501 |
}
|
502 |
+
|
503 |
+
$reportContent = file_get_contents($this->_reportFile);
|
504 |
+
if (!preg_match('/[oc]:[+\-]?\d+:"/i', $reportContent )) {
|
505 |
+
$reportData = unserialize($reportContent );
|
506 |
+
}
|
507 |
+
if (is_array($reportData)) {
|
508 |
+
$this->_setReportData($reportData);
|
509 |
+
}
|
510 |
}
|
511 |
|
512 |
/**
|
522 |
$this->postData['email'] = (isset($_POST['email'])) ? trim(htmlspecialchars($_POST['email'])) : '';
|
523 |
$this->postData['telephone'] = (isset($_POST['telephone'])) ? trim(htmlspecialchars($_POST['telephone'])) : '';
|
524 |
$this->postData['comment'] = (isset($_POST['comment'])) ? trim(htmlspecialchars($_POST['comment'])) : '';
|
525 |
+
$url = htmlspecialchars($this->reportData['url'], ENT_COMPAT | ENT_HTML401);
|
526 |
|
527 |
if (isset($_POST['submit'])) {
|
528 |
if ($this->_validate()) {
|
529 |
+
$msg = "URL: {$url}\n"
|
|
|
530 |
. "IP Address: {$this->_getClientIp()}\n"
|
531 |
. "First Name: {$this->postData['firstName']}\n"
|
532 |
. "Last Name: {$this->postData['lastName']}\n"
|
549 |
} else {
|
550 |
$time = gmdate('Y-m-d H:i:s \G\M\T');
|
551 |
|
552 |
+
$msg = "URL: {$url}\n"
|
553 |
. "IP Address: {$this->_getClientIp()}\n"
|
554 |
. "Time: {$time}\n"
|
555 |
. "Error:\n{$this->reportData[0]}\n\n"
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Mage_Core_Modules</name>
|
4 |
-
<version>1.9.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Collection of Magento Core Modules</summary>
|
10 |
<description>Collection of Magento Core Modules</description>
|
11 |
-
<notes>1.9.
|
12 |
<authors><author><name>Magento Core Team</name><user>core</user><email>core@magentocommerce.com</email></author></authors>
|
13 |
-
<date>2016-
|
14 |
-
<time>
|
15 |
-
<contents><target name="magecore"><dir name="Mage"><dir name="Admin"><dir name="Helper"><file name="Block.php" hash="9a1ba075a3e26fe7b3355e3518ecd9f3"/><file name="Data.php" hash="9349200d6f92c46180199ac23f98f7f6"/><dir name="Rules"><file name="Fallback.php" hash="383a4d353d762e1c925071be90cef644"/></dir><file name="Variable.php" hash="05034a643f757264fa384d34c8a38a45"/></dir><dir name="Model"><dir name="Acl"><dir name="Assert"><file name="Ip.php" hash="08ca27c4cb5d661cf244ebb2e6651758"/><file name="Time.php" hash="286d3eb95e0bd7c35303bd1645c6136d"/></dir><file name="Resource.php" hash="0c2dc0fc7553ec1f3edc827f8b315381"/><dir name="Role"><file name="Generic.php" hash="4f1f977403ed910a5753afab02c62b89"/><file name="Group.php" hash="a3eb3645929348237344ab9be05b78b1"/><file name="Registry.php" hash="1a061baac87efc3b82c267d9b496b161"/><file name="User.php" hash="584e727edf544f15e9d9c9f05b12bfdf"/></dir><file name="Role.php" hash="81b9facdda473ecd5d4c0a9831f12f23"/></dir><file name="Acl.php" hash="7d626befb3db46f07bdb75399b4536db"/><file name="Block.php" hash="cba4ab4189cf2a3b1e6a8366c7864ee4"/><file name="Config.php" hash="505e6f9bccb6b1781f006dfa0f277254"/><dir name="Mysql4"><dir name="Acl"><dir name="Role"><file name="Collection.php" hash="335baf1a546832d4430b359d2a14aac3"/></dir><file name="Role.php" hash="57e55b6117759af057407b2b52dca8e5"/></dir><file name="Acl.php" hash="535836809a79d0870f491abe690069d1"/><dir name="Permissions"><file name="Collection.php" hash="5c6808e128191b50f3f0a24d19a874e8"/></dir><dir name="Role"><file name="Collection.php" hash="0b5c5dcf8609974c82a2eb70c44db3a7"/></dir><file name="Role.php" hash="591f9370829d00af7990de49fa5246e5"/><dir name="Roles"><file name="Collection.php" hash="1f7f9e665cedc00597698d7bce6ffcd9"/><dir name="User"><file name="Collection.php" hash="8c744c176b234379a39cc05af2b6df02"/></dir></dir><file name="Roles.php" hash="1924f8555f51b66e3801bfa76690dfd0"/><dir name="Rules"><file name="Collection.php" hash="6eccb4ad5e45096587bec068f34342f0"/></dir><file name="Rules.php" hash="341d66cdfd28daf435517a49600495b3"/><dir name="User"><file name="Collection.php" hash="35a014dcc16e27dc66577c05b0747d46"/></dir><file name="User.php" hash="355610dbcb43e9d5f5fd7f3f78110048"/></dir><file name="Observer.php" hash="8bcd083d383968c893cf98d18eecba8e"/><file name="Redirectpolicy.php" hash="fbeea836834e629f96ddd6949a93e97b"/><dir name="Resource"><dir name="Acl"><dir name="Role"><file name="Collection.php" hash="bd5981e4c77d6c4bb819ac8c6c338c76"/></dir><file name="Role.php" hash="6d50597150e83a920d8e76cb74b4cfcf"/></dir><file name="Acl.php" hash="69d8caefb12003e449573d6ba87864f8"/><dir name="Block"><file name="Collection.php" hash="717351c260e79fa30fbda27111957a99"/></dir><file name="Block.php" hash="ff5550ea7047ffb019c2525c13fc17a9"/><dir name="Permissions"><file name="Collection.php" hash="439684f2b3259ca9e3959ced4aafa335"/></dir><dir name="Role"><file name="Collection.php" hash="15454b8025ed78cea0ce5d84d1e84c42"/></dir><file name="Role.php" hash="c4238cef7a9a25b72f7a9f4cb9b23f1e"/><dir name="Roles"><file name="Collection.php" hash="c1197e710a230d3ec001ae4abc3d9ec5"/><dir name="User"><file name="Collection.php" hash="7e551072e4cc23fcbef082b54b7fa798"/></dir></dir><file name="Roles.php" hash="86589cb054903023aeb3fd2a6015c83c"/><dir name="Rules"><file name="Collection.php" hash="cd0c1e7732bcbc6f9a73b84cecf5fa45"/></dir><file name="Rules.php" hash="b3d01cbc96c2f46f396c0698fc645b4a"/><dir name="User"><file name="Collection.php" hash="0177d1cee326c39536c29fa1879510fd"/></dir><file name="User.php" hash="3e216369763be663ca216f171d6454bc"/><dir name="Variable"><file name="Collection.php" hash="fd9c09d2184f32af4e48a982d0547a58"/></dir><file name="Variable.php" hash="f25a17650d60d5b1911e985fbd6904ea"/></dir><file name="Role.php" hash="2df749650c83f8203857ab6ba9a0bbe0"/><file name="Roles.php" hash="caa2c8b5b1a279297e3bf34cde27a94e"/><file name="Rules.php" hash="a37312eba4a2600a14f5bc81e6ef9a39"/><file name="Session.php" hash="619d5efe81e9ffaf11600b4df2a06352"/><file name="User.php" hash="27155ee9ca41d1d4a3553cf1ea9d3b61"/><file name="Variable.php" hash="6e8f0d0da61445ab9e0042177694881c"/></dir><dir name="data"><dir name="admin_setup"><file name="data-install-1.6.0.0.php" hash="0274ac08aadb4bad103095a11bdaff14"/></dir></dir><dir name="etc"><file name="config.xml" hash="e9ff6df606c3a60b92ae310b7b0ff63e"/></dir><dir name="sql"><dir name="admin_setup"><file name="install-1.6.0.0.php" hash="dbede184c784f531b99227dafaac6c3f"/><file name="mysql4-install-0.7.0.php" hash="ce195263d9a1483e0226725ecba4d280"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="1cc838be0dbfa4a57b367ff3ee852930"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="5f6112ff200e1156f793a88caa7fac7e"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="f4f648587b954ebf087dfcfad2e6e809"/><file name="upgrade-1.6.0.0-1.6.1.0.php" hash="6948bb0b0bf03c1a7a9f6d4992b95c32"/><file name="upgrade-1.6.1.0-1.6.1.1.php" hash="8a227654e1b908e80763a75d47b3219b"/><file name="upgrade-1.6.1.1-1.6.1.2.php" hash="d3e3dc656cb0f7b34c87c3cb57f6aae1"/></dir></dir></dir><dir name="AdminNotification"><dir name="Helper"><file name="Data.php" hash="16e00642e0d71e8f640513fbdce1fc72"/></dir><dir name="Model"><file name="Feed.php" hash="a50e6360e6f862da15017f92112f7089"/><file name="Inbox.php" hash="aa4212b432eb6c0b18d5d10f6d352f43"/><dir name="Mysql4"><dir name="Inbox"><file name="Collection.php" hash="ae2dc8ab53c50a4f2e1076f633050264"/></dir><file name="Inbox.php" hash="9476e2f1f83b120770cbef0fd7d5fbc6"/></dir><file name="Observer.php" hash="ed5d2f6241bc21d23e883afc4dec9c65"/><dir name="Resource"><dir name="Inbox"><file name="Collection.php" hash="45b86c1cc068f343096b176b7e597ac1"/></dir><file name="Inbox.php" hash="3f2ddbba6593c11626e577aee5adc866"/></dir><file name="Survey.php" hash="e8966921b8d2eb22e6b12ecb18244139"/></dir><dir name="etc"><file name="adminhtml.xml" hash="9127e273a03f08d4347096e6191ff1c4"/><file name="config.xml" hash="5e46b7a8603bb7d51093818533d98eef"/><file name="system.xml" hash="f2d8e0d8574e2680f80174341954d01d"/></dir><dir name="sql"><dir name="adminnotification_setup"><file name="install-1.6.0.0.php" hash="f1cfd5293e6997e6ea31d445caf9ff17"/><file name="mysql4-install-1.0.0.php" hash="bc08fe5d5c681ee7bcab1408c6c9dc7d"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="02520528d95f238c32456dc1f0504809"/></dir></dir></dir><dir name="Api"><dir name="Controller"><file name="Action.php" hash="774b4762b850592ab7659fdadb42ed84"/></dir><file name="Exception.php" hash="04fe0ad10ccb52bc9d66117e1ea8daf9"/><dir name="Helper"><file name="Data.php" hash="44c338b1e68841c25890cc25032bc92a"/></dir><dir name="Model"><dir name="Acl"><dir name="Assert"><file name="Ip.php" hash="c76874e041338f1a3a18da71bdd1124d"/><file name="Time.php" hash="5603cda1204e4270d92f67290f8b3882"/></dir><file name="Resource.php" hash="5536d4853e1e6ac50083dd48d12bb380"/><dir name="Role"><file name="Generic.php" hash="2f84ba87bd7d3a9ea0ae873bac95b970"/><file name="Group.php" hash="c8b844aaa124f8afa38e943f5fb7333a"/><file name="Registry.php" hash="0cf99ee44b46f1fd5abb01332d9176e3"/><file name="User.php" hash="c714175423aabf8a234c658966238574"/></dir><file name="Role.php" hash="89767b0b806ae6f6402b9dc357783d3e"/></dir><file name="Acl.php" hash="d3caadef3aaab9e8dada1f584184b6da"/><file name="Config.php" hash="e6108699ce87d3ca39462e70356fc0f7"/><dir name="Mysql4"><dir name="Acl"><dir name="Role"><file name="Collection.php" hash="29ee5de0d8a07033e66fe43f9046f3f7"/></dir><file name="Role.php" hash="606f2c8ccb598d3e3c8f3ed5bcf289f4"/></dir><file name="Acl.php" hash="e933dfe905bbdafed8e42b76b08a80f6"/><dir name="Permissions"><file name="Collection.php" hash="8f0cafdaf2c39d0b7b25addff48e3060"/></dir><dir name="Role"><file name="Collection.php" hash="65b742dffa3ce6881c55a27657bcd24e"/></dir><file name="Role.php" hash="5f635063dedb356c61da9062444228ea"/><dir name="Roles"><file name="Collection.php" hash="f3a0e95e05b018836a959d22fed1b3a7"/><dir name="User"><file name="Collection.php" hash="27c1248a4b9a201a3fde0bc1aa0b3006"/></dir></dir><file name="Roles.php" hash="78ca14d1032e095ee37c1ed027bbe8a3"/><dir name="Rules"><file name="Collection.php" hash="2bf02138aaf50a5786e8a9f9b944bb1e"/></dir><file name="Rules.php" hash="d6945e76e07b77f993f277162f75ca4e"/><dir name="User"><file name="Collection.php" hash="482d52e463eda673177bfa5b28d62171"/></dir><file name="User.php" hash="e56215febfa2bff9b644c1c422b05d20"/></dir><dir name="Resource"><file name="Abstract.php" hash="8afd58116d69d4f8cb00045e809fa065"/><dir name="Acl"><dir name="Role"><file name="Collection.php" hash="e2a0a2811e5b14b041114ab1b54b0caf"/></dir><file name="Role.php" hash="3d48c43b4d9f76f1eb1e4d3d354146f0"/></dir><file name="Acl.php" hash="0f8f6aa57d0c9d21db67c6c694f54b99"/><dir name="Permissions"><file name="Collection.php" hash="48faac14df91a789288ef14863f23415"/></dir><dir name="Role"><file name="Collection.php" hash="358cfbd02523e45ac3a13230019a9855"/></dir><file name="Role.php" hash="f12e74794a4897e7df96f05507a95679"/><dir name="Roles"><file name="Collection.php" hash="d245ece070acf720da2e4e88cd1e6157"/><dir name="User"><file name="Collection.php" hash="45839c5e6c4eb16d669d0cb61791b51c"/></dir></dir><file name="Roles.php" hash="2378dd2f701d20222a9089c48f13d32d"/><dir name="Rules"><file name="Collection.php" hash="92ab48e1ec2d99c432e25e9c3e8b4bca"/></dir><file name="Rules.php" hash="cfaef65cfd5ac344fca073aa803bf070"/><dir name="User"><file name="Collection.php" hash="d7dfaa41c6f8c576ecc78124926da9ab"/></dir><file name="User.php" hash="68f0455fadd667de2c49b361c0c63b48"/></dir><file name="Role.php" hash="65d1434ddb3bd361a08126b6a8ed2739"/><file name="Roles.php" hash="399af59b973909e92fd63620ca0ac949"/><file name="Rules.php" hash="4ca5eaf6cef0ab6ec8db507620d7fb89"/><dir name="Server"><dir name="Adapter"><file name="Interface.php" hash="64124b37d8a9686866695c823d80713c"/><file name="Soap.php" hash="89d4a8211e292c4fe2567fa52cb5292a"/><file name="Xmlrpc.php" hash="a3bea0dc8c3045630f9ba479cfe89b1f"/></dir><dir name="Handler"><file name="Abstract.php" hash="1794ca9a35ee8bc8f30703fab4ee36e3"/></dir><file name="Handler.php" hash="f4be1b5c2758e3a921387b3933f7dcdc"/><dir name="V2"><dir name="Adapter"><file name="Soap.php" hash="2626e0417ea86b2f80a8f3832b3e18df"/></dir><file name="Handler.php" hash="bdc40c4c23dc5ab6889ea72baa64684c"/></dir><dir name="Wsi"><dir name="Adapter"><file name="Soap.php" hash="f58b7e580026a274b9afd4a4ad56c95b"/></dir><file name="Handler.php" hash="6c260b6ef745ee4acb5a585c110baa71"/></dir></dir><file name="Server.php" hash="3757b660bf81e78572ee4a16df10f61d"/><file name="Session.php" hash="08135d3e54cf10a7fc44f628c0ce51b8"/><file name="User.php" hash="873676067466da34a16ca124830bb4ac"/><dir name="Wsdl"><dir name="Config"><file name="Base.php" hash="02fea248877a1a4a36bc97f2ab5971ce"/><file name="Element.php" hash="11e2d31cd86e888f4cf90613e3e9af9f"/></dir><file name="Config.php" hash="e64dbce8fd9d9bb1e8fdc4651d85959a"/></dir></dir><dir name="controllers"><file name="IndexController.php" hash="2c0689b165c97288b2e8c7f1ea7fccb2"/><file name="SoapController.php" hash="7bcebcfc203e99777804ee9fc0bb46f4"/><dir name="V2"><file name="SoapController.php" hash="78d4a08f6a1369366ae349868965ab98"/></dir><file name="XmlrpcController.php" hash="ba4e2f4fd37b0375a77140340ff99b37"/></dir><dir name="etc"><file name="adminhtml.xml" hash="1fa3c950da0464651007e8cd33f294b0"/><file name="api.xml" hash="16477872502aa7fee7b6e4ee85eb6d53"/><file name="config.xml" hash="d994cc2976bc842b796bc216af4ecabf"/><file name="system.xml" hash="d8d0ef91b865535c4f407f2eed075d7b"/><file name="wsdl.xml" hash="f0db676b04733b38f310355bb44bc3cb"/><file name="wsdl2.xml" hash="7d527421ba4b63a8a812ab6b1095891d"/><file name="wsi.xml" hash="9fb1700cf935a26e7fada90a07fae7fe"/></dir><dir name="sql"><dir name="api_setup"><file name="install-1.6.0.0.php" hash="9224f4bc3e4624a4b39829cd360f0469"/><file name="mysql4-install-0.7.0.php" hash="78a15f73deb0367b6902c80696ef0e62"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="59162c64de079f98682f67314851c92c"/><file name="mysql4-upgrade-0.8.0-0.8.1.php" hash="a76c976e331986d6249c15b79ec71cfe"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="c4b533ec0c78967c59942b8143936b97"/><file name="mysql4-upgrade-1.6.0.0-1.6.0.1.php" hash="ef060441ba7f33213e0a3aaf59a0266c"/></dir></dir></dir><dir name="Api2"><dir name="Block"><dir name="Adminhtml"><dir name="Attribute"><file name="Buttons.php" hash="30e7a5d3a1c83ef1df1b675173baa6dd"/><dir name="Edit"><file name="Form.php" hash="9da5d9bc5715ae0ae289a7646e27be85"/></dir><file name="Edit.php" hash="7ce77055d120c65648c1107fb2e5fc6a"/><file name="Grid.php" hash="770f37ab1ab5f7296cdd10e986a67e88"/><dir name="Tab"><file name="Resource.php" hash="69c35aa360066c71e6364d96fac6435c"/></dir><file name="Tabs.php" hash="6aea7548a023162ddc82e75e84cf8674"/></dir><file name="Attribute.php" hash="98679bff19e5a631eaa9e0c6cabc99ca"/><dir name="Permissions"><dir name="User"><dir name="Edit"><dir name="Tab"><file name="Roles.php" hash="b2acfc86b799efd51c7e76e10a2f7b5b"/></dir></dir></dir></dir><dir name="Roles"><file name="Buttons.php" hash="92a73c35cae3662229878c90d2e24fe8"/><file name="Grid.php" hash="215301b76a9a363c1253ec0377859241"/><dir name="Tab"><file name="Info.php" hash="3a4dacbc8eae6f0f35019df6912e89ad"/><file name="Resources.php" hash="2fd39485229e2d8f85b91d2ae7c4a862"/><file name="Users.php" hash="52ab2220a81f0e269f176e0d5615e8f7"/></dir><file name="Tabs.php" hash="5c4a34538372055306c8e7da3a8a5bde"/></dir><file name="Roles.php" hash="76bbcde1a4cbbfaa68890b7b6514b561"/></dir></dir><file name="Exception.php" hash="8e66157a187c75b217f4fc7ec56f3826"/><dir name="Helper"><file name="Data.php" hash="87e59f1ae52509cb875ab25365d6e351"/></dir><dir name="Model"><dir name="Acl"><dir name="Filter"><dir name="Attribute"><file name="Operation.php" hash="02a577838191e96fc389578891359dee"/><file name="ResourcePermission.php" hash="c0f28749c7ac8039df60f8e8ce3a4b45"/></dir><file name="Attribute.php" hash="9bd5d7c9a4818b3cd1616ae1391ddd19"/></dir><file name="Filter.php" hash="929e44dd71dcd3f25405933f14089b02"/><dir name="Global"><file name="Role.php" hash="c46376eceb36ca5d32e9582a1f5b4af4"/><dir name="Rule"><file name="Permission.php" hash="687b8715aa27e61ed516c53162775b57"/><file name="Privilege.php" hash="3d2975048cefa0226e59cd084fbcfdd7"/><file name="ResourcePermission.php" hash="a44cdbbafaf12ee628fec8ac8ba8a0ba"/><file name="Tree.php" hash="2358b8723c6e9bee54b3ea9fd7d0d953"/></dir><file name="Rule.php" hash="95040ad8b86317eb060569c28b16410b"/></dir><file name="Global.php" hash="0d95e4be423febd261812ceb03847411"/><file name="PermissionInterface.php" hash="11d294d4927d5070933d34ef2711eac9"/></dir><file name="Acl.php" hash="2ffa26f03192a669d9c86dbe724f46cd"/><dir name="Auth"><dir name="Adapter"><file name="Abstract.php" hash="e76e604f005c4dc398292c2acc00a4fc"/><file name="Oauth.php" hash="894fbacf6e21a7efeab9a0a9db946650"/></dir><file name="Adapter.php" hash="f3cbea7d5ab8b09386dc67fd107aa7d2"/><dir name="User"><file name="Abstract.php" hash="ad4d2f0c4d03eadbb81dcfbfbe4273ad"/><file name="Admin.php" hash="25e7646a77954a5784120335d13ef388"/><file name="Customer.php" hash="179a03eaa77810a013563fca02a56623"/><file name="Guest.php" hash="e572d1c2acf5facef9187d1cfe6aece6"/></dir><file name="User.php" hash="4f28b0c1bc6e6f71a0bf6a09a7a27773"/></dir><file name="Auth.php" hash="5e8ff5e0a305081a8319b2bf24496b1d"/><file name="Config.php" hash="0955d6231212120e16a5c2e7f21463a0"/><file name="Dispatcher.php" hash="1f61a75165aa48c8c97c16e72f1338d4"/><file name="Multicall.php" hash="c4741cbd2ebed177654a699ce15312e9"/><file name="Observer.php" hash="ab5efc3be71db1b54fb9f4858cd3beca"/><dir name="Renderer"><file name="Interface.php" hash="17d1ea9e291a600dd7f98a941a8945ba"/><file name="Json.php" hash="5fd32d14bd18d550ba78e9a9e901722e"/><file name="Query.php" hash="d7ea3556aaefe6c400510466a7f15077"/><dir name="Xml"><file name="Writer.php" hash="c2b3024abe24d48eac4d6bcc0f4e85e7"/></dir><file name="Xml.php" hash="fcd74870b09eb236ce768bb81b2466b9"/></dir><file name="Renderer.php" hash="7f9de64648eca506571a5156e51672c9"/><dir name="Request"><file name="Internal.php" hash="5b2981aacf6234be279b29c7eaa7bc39"/><dir name="Interpreter"><file name="Interface.php" hash="adf1d99caf07e26de34373618d1eeb7e"/><file name="Json.php" hash="759806f32a2f717d90e57657fdc2e703"/><file name="Query.php" hash="130b11ea74e1d91d9637abc5d877b218"/><file name="Xml.php" hash="3bbd3aae616947cfab67af3417e8bc73"/></dir><file name="Interpreter.php" hash="108d88f20c84667266bdeeae0f566ad0"/></dir><file name="Request.php" hash="6152f16393d2f6600131ce075be99627"/><dir name="Resource"><dir name="Acl"><dir name="Filter"><dir name="Attribute"><file name="Collection.php" hash="665ff0a1ef0b44ce90c6827fa7aee98f"/></dir><file name="Attribute.php" hash="0b1dd9c5e804f2d74f035280808e3096"/></dir><dir name="Global"><dir name="Role"><file name="Collection.php" hash="8d49bb4b7350e5143a66ac6ede38a451"/></dir><file name="Role.php" hash="208b98f459bc1efa86679e889ad1c5c1"/><dir name="Rule"><file name="Collection.php" hash="cfa58d513a38612949c71087500a9a72"/></dir><file name="Rule.php" hash="1f72374898d0ee315fe11ca122ea4bc5"/></dir></dir><file name="Setup.php" hash="d3f2fe1dd0355d83243d16dcae070bab"/><dir name="Validator"><file name="Eav.php" hash="85530468f643d51545bfb026ea31c60b"/><file name="Fields.php" hash="669ab0efb47133f83250847f032f1c37"/></dir><file name="Validator.php" hash="b4728be46e9e8b46f46af0478dcd8449"/></dir><file name="Resource.php" hash="0c8dcd44c2d03e288b985f976650c3ec"/><file name="Response.php" hash="0fbabaec58d372103b7863f6a27ec143"/><dir name="Route"><file name="Abstract.php" hash="1a27c8f502aee85f52c0b9a994ea204f"/><file name="ApiType.php" hash="6a0ec483520e9983f2cb40b5dd17fd8d"/><file name="Interface.php" hash="374d8c631c5e8adae4f11a5f11b4537b"/><file name="Rest.php" hash="cd9a94ad7d40766cb62a50a60c3dba32"/></dir><file name="Router.php" hash="fd7c3235d8dae9bf2fc8dff91472fb5c"/><file name="Server.php" hash="9ac47ece0cdc38b210dcb7df6d8c1ced"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Api2"><file name="AttributeController.php" hash="347953872ae6d5e90b16561388e6848f"/><file name="RoleController.php" hash="d27833725254f6fc12a799efd2510973"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="ad36dd3cd7d6e5d120bb9e7c15e11ff1"/><file name="config.xml" hash="4821abb0ebec976548c9e30d30a2b213"/></dir><dir name="sql"><dir name="api2_setup"><file name="install-1.0.0.0.php" hash="592bbea52850ec9fc91066bff5508914"/></dir></dir></dir><dir name="Authorizenet"><dir name="Block"><dir name="Directpost"><file name="Form.php" hash="9dc667687a53dd0017fa7cded230b4f1"/><file name="Iframe.php" hash="5ae85348c16639f2006542866f798d66"/></dir></dir><dir name="Helper"><file name="Admin.php" hash="ead9dd582ab6f747f2466c996b50aa31"/><file name="Data.php" hash="5440d68161cc5379507c6a0771bc7f42"/></dir><dir name="Model"><dir name="Directpost"><file name="Observer.php" hash="0fd3c47026cdba1c36b4aa5e8f43500e"/><file name="Request.php" hash="7a968e895e936e86b4e0488537e45587"/><file name="Response.php" hash="a136dcb41d52650f99036483b81d27fc"/><file name="Session.php" hash="b96a36a37ede54e2af70ed3f28c90413"/></dir><file name="Directpost.php" hash="b6869c83e477ab7f5d0590c1aeb0d856"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Authorizenet"><dir name="Directpost"><file name="PaymentController.php" hash="c49edc9dba097d0757eeefd8a00d2086"/></dir></dir></dir><dir name="Directpost"><file name="PaymentController.php" hash="e7e5bb728fda361ef16911f123e50e0c"/></dir></dir><dir name="etc"><file name="config.xml" hash="316742cf75cd9a1d8e31621757eafdb2"/><file name="system.xml" hash="772679033f6a49116ba41a49da828f3c"/></dir></dir><dir name="Backup"><file name="Exception.php" hash="1d9584b08582ee0931ae942ddc597056"/><dir name="Helper"><file name="Data.php" hash="9c4b278a8188970834ea3264dca74197"/></dir><dir name="Model"><file name="Backup.php" hash="163966b51cb4df0584200c39375b21ae"/><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="ed07667ca13aa89805ebb7136d0dcd71"/></dir><dir name="Source"><file name="Type.php" hash="ed9703bce1523c0c634e862c7ad70f5e"/></dir></dir><file name="Db.php" hash="d35147f61a16f6e4d58969ae58205907"/><dir name="Fs"><file name="Collection.php" hash="d2e6b760f5050792712b1d79c35dfc68"/></dir><dir name="Mysql4"><file name="Db.php" hash="11fec4cd1cde22cf681bf8b4780c0a09"/></dir><file name="Observer.php" hash="03078671713743c8c8e97a717c2e80c2"/><dir name="Resource"><file name="Db.php" hash="35961c796f60164427dcd9ce6a1c87b9"/><dir name="Helper"><file name="Mysql4.php" hash="4d24628fa1b2890c91d8048cd65fd7da"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="e48cb7bbc9b47dc55c11205716a727ad"/><file name="config.xml" hash="bbef782377f0d496a05daa4ab71473d7"/><file name="system.xml" hash="e461e31f4a3d7a05ebe6398bea5ec004"/></dir></dir><dir name="Bundle"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><dir name="Composite"><dir name="Fieldset"><file name="Bundle.php" hash="d1a01550cc44852c92276e95e161f44a"/><dir name="Options"><dir name="Type"><file name="Checkbox.php" hash="72b0fdbe208a568907ca6e03b6cc4970"/><file name="Multi.php" hash="b50b7d8093326d9c5ba76c907b3707b6"/><file name="Radio.php" hash="c3510dc759996779d7e70bec6c05a1bc"/><file name="Select.php" hash="b6719e8406961f0c5cbae9d6bbdaa973"/></dir></dir></dir></dir><dir name="Edit"><dir name="Tab"><dir name="Attributes"><file name="Extend.php" hash="c7177a24ec87ff4c63620754314fbf61"/><file name="Special.php" hash="edc5952b3071bb875c24e1a81d05d2fb"/></dir><file name="Attributes.php" hash="bee0b7319b1409fcd5817e112d2180e0"/><dir name="Bundle"><dir name="Option"><dir name="Search"><file name="Grid.php" hash="1119c21a96470f11950d7d84f65a221a"/></dir><file name="Search.php" hash="665485b2d6f20f2b715f7243c3f5d9b6"/><file name="Selection.php" hash="b2b8cf4675d04f1264a3c4a04ed2dca7"/></dir><file name="Option.php" hash="1dd71760cbe26ee1fabc3e3299bbb9fb"/></dir><file name="Bundle.php" hash="55373aaaa8f72c91051e678f03ba5029"/></dir><file name="Tabs.php" hash="9296e80b1084b9a8dc6bd1c4ce2062e1"/></dir></dir></dir><dir name="Sales"><dir name="Order"><dir name="Items"><file name="Renderer.php" hash="34710f3c5f673268d1d13a74d50c1caf"/></dir><dir name="View"><dir name="Items"><file name="Renderer.php" hash="73a0c1e6afe739b78ca2237ef2cece89"/></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><dir name="List"><file name="Partof.php" hash="62d55ff286597964b23ebb4bbb73f8d5"/></dir><file name="Price.php" hash="13955390c1c20f705be3b7f6a7224368"/><dir name="View"><dir name="Type"><dir name="Bundle"><dir name="Option"><file name="Checkbox.php" hash="7703ad9fc12df82467b1269c25bcf50c"/><file name="Multi.php" hash="cd5638f49dd792c79fa448650021d40c"/><file name="Radio.php" hash="46f0caaedeb69fbb3f7307a250c6176e"/><file name="Select.php" hash="07bbb86c3bd29f4856bbbfcb47607e0e"/></dir><file name="Option.php" hash="5063d4fe519483fe11581e326085dfe5"/></dir><file name="Bundle.php" hash="85dc00e3c6624bd8f946577289d8d120"/></dir></dir><file name="View.php" hash="dbd39805a66f8efa5923826033520c1c"/></dir></dir><dir name="Checkout"><dir name="Cart"><dir name="Item"><file name="Renderer.php" hash="92eecf3508f521f28c4332b143139d2b"/></dir></dir></dir><dir name="Sales"><dir name="Order"><dir name="Items"><file name="Renderer.php" hash="1cbdc643a998d58bc27d33977ab6247e"/></dir></dir></dir></dir><dir name="Helper"><dir name="Catalog"><dir name="Product"><file name="Configuration.php" hash="3043d1b7f4599a49b37bc5f6a935a7aa"/></dir></dir><file name="Data.php" hash="9b51be0fea4acbedc363240046c243af"/></dir><dir name="Model"><dir name="CatalogIndex"><dir name="Data"><file name="Bundle.php" hash="08fcad235cc860bebf0e43dd9336d329"/></dir></dir><dir name="Mysql4"><file name="Bundle.php" hash="a105d7dd3f8efeddf367ce54c3bf27dc"/><dir name="Indexer"><file name="Price.php" hash="a49e39a23e70132f0ae71080b944bcdb"/><file name="Stock.php" hash="871b4097d83cbee3008e89ac6f440406"/></dir><dir name="Option"><file name="Collection.php" hash="30d6be1fbbe1ade58485f739f8ad453d"/></dir><file name="Option.php" hash="1795c05a00627e4ae2780198ed21cc3b"/><dir name="Price"><file name="Index.php" hash="14edc32b873efbaf576ff7afe5bddb17"/></dir><dir name="Selection"><file name="Collection.php" hash="a8fcdb51475db3cca91c117aadb4b32a"/></dir><file name="Selection.php" hash="b67d2542e335ac673b98208e8583bcf7"/></dir><file name="Observer.php" hash="e71e6581febdffc6db50b198c051b628"/><file name="Option.php" hash="2aafa265c1a09ca14873789c24081152"/><dir name="Price"><file name="Index.php" hash="8295fe309a878eb9b2b2cacc81177cbc"/></dir><dir name="Product"><dir name="Attribute"><dir name="Source"><dir name="Price"><file name="View.php" hash="40936c9f32040f4fbe9757f3038f2e6e"/></dir></dir></dir><file name="Price.php" hash="8300e53a3d8ba6480a674bb5a7f7a09d"/><file name="Type.php" hash="f795e704b950d1062789735506e07965"/></dir><dir name="Resource"><file name="Bundle.php" hash="dac365d9b9dc19ae98504b7a354fdfaa"/><dir name="Indexer"><file name="Price.php" hash="09346af9318133cdcd4bfe07ef2409b4"/><file name="Stock.php" hash="1d2a9f422efd1a85d4edf75ee67ef790"/></dir><dir name="Option"><file name="Collection.php" hash="85c0a9674eee8735fb0b674f2b69cd97"/></dir><file name="Option.php" hash="04f9d973469beb08582b72c285815fe0"/><dir name="Price"><file name="Index.php" hash="0d623baf6d9f22212eff19075e38030a"/></dir><dir name="Selection"><file name="Collection.php" hash="86fd88e9420793830e08ae09da4ad6bd"/></dir><file name="Selection.php" hash="4b11349866beaf419718e435ba6f7800"/></dir><dir name="Sales"><dir name="Order"><dir name="Pdf"><dir name="Items"><file name="Abstract.php" hash="6e94008eaed3489d1ce78686f9160a65"/><file name="Creditmemo.php" hash="7a009148c167f32c8d64c52e8a1467d1"/><file name="Invoice.php" hash="a37bebede91906ec96d949d0555b3a3f"/><file name="Shipment.php" hash="2d76cd2a857c85297b76519c919e91f1"/></dir></dir></dir></dir><file name="Selection.php" hash="df581745d68a5f9c1b2512b83e1ef5c5"/><dir name="Source"><dir name="Option"><dir name="Selection"><dir name="Price"><file name="Type.php" hash="4d1dba02f19be6162f4c041088b53861"/></dir></dir><file name="Type.php" hash="de0061e8100adf8c073f82f35344cd2c"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Bundle"><dir name="Product"><file name="EditController.php" hash="7b354c43663ae7359b5357674883d16f"/></dir><file name="SelectionController.php" hash="b420a1ca332482c3bc55b5d2fcdfaa8f"/></dir></dir><dir name="Product"><file name="EditController.php" hash="d2bf3045167b891f534a3c490901bf94"/></dir><file name="SelectionController.php" hash="9348a022b8d2a28b7bc9e2aaac2e8ac6"/></dir><dir name="data"><dir name="bundle_setup"><file name="data-install-1.6.0.0.php" hash="6edda03943c56b8077f77340b67694e0"/></dir></dir><dir name="etc"><file name="config.xml" hash="2f8a1d2fbf06b32f1a32fc893b47ca3b"/></dir><dir name="sql"><dir name="bundle_setup"><file name="install-1.6.0.0.php" hash="9fc392edbf05d6c30ba9f265892014ef"/><file name="mysql4-data-upgrade-0.1.13-0.1.14.php" hash="4dab0c1d90a659ff1e1f94c1e9acb132"/><file name="mysql4-install-0.1.0.php" hash="82c9663f990f4e9ae9a75c26e3979b23"/><file name="mysql4-upgrade-0.1.0-0.1.1.php" hash="20e77245c14eb8059b187264e8152e29"/><file name="mysql4-upgrade-0.1.1-0.1.2.php" hash="85b79bb079050cbd190bde83a280783f"/><file name="mysql4-upgrade-0.1.10-0.1.11.php" hash="2151261f762c2562d561569e14c6d9a8"/><file name="mysql4-upgrade-0.1.11-0.1.12.php" hash="212828a3289510319fd7479e9251b270"/><file name="mysql4-upgrade-0.1.12-0.1.13.php" hash="b92eb535f69cc85034592088f696eaf4"/><file name="mysql4-upgrade-0.1.2-0.1.3.php" hash="9b83041cd925624e8a80a965c16e9380"/><file name="mysql4-upgrade-0.1.3-0.1.4.php" hash="ae04d9a83330f2706b2e62b172efea3f"/><file name="mysql4-upgrade-0.1.4-0.1.5.php" hash="f0ac187df40e0f6d202faedcc17d9292"/><file name="mysql4-upgrade-0.1.5-0.1.6.php" hash="13940f417ccbdff869375925e41972e9"/><file name="mysql4-upgrade-0.1.6-0.1.7.php" hash="32377c2202aae4b003943383315634d4"/><file name="mysql4-upgrade-0.1.7-0.1.8.php" hash="75110184a452c033ae19cdecc77a3e17"/><file name="mysql4-upgrade-0.1.8-0.1.9.php" hash="81d93640a1700e63de5046e1a774de77"/><file name="mysql4-upgrade-0.1.9-0.1.10.php" hash="6a9b12e735a6a3fc0be490019487295a"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="bfdb71af0a3fa27111431c4e66ad5f00"/><file name="mysql4-upgrade-1.6.0.0-1.6.0.0.1.php" hash="1a4e94847369b5ccf118cd1e96797fc7"/><file name="upgrade-1.6.0.0-1.6.0.0.1.php" hash="63e676fd5c7cae10ac232c732807ca6d"/></dir></dir></dir><dir name="Captcha"><dir name="Block"><dir name="Captcha"><file name="Zend.php" hash="e3140ff48b0ebf607d5ff1702b823eb1"/></dir><file name="Captcha.php" hash="197d8bf48a7a236f840c9b9052a519a0"/></dir><dir name="Helper"><file name="Data.php" hash="cb661b87e454aefb55ad1b48f872af86"/></dir><dir name="Model"><dir name="Config"><file name="Font.php" hash="564160d4501a0983d247e94142f49bc1"/><dir name="Form"><file name="Abstract.php" hash="690bff323d84194efd1c300d2fb2c57b"/><file name="Backend.php" hash="da613c3fed8fb74fd5bc976646cc9d56"/><file name="Frontend.php" hash="b3088a0b9df26a2e1ba3f3c97139ca38"/></dir><file name="Mode.php" hash="e429bbf441d140df0f77ff123dcdac8d"/></dir><file name="Interface.php" hash="3d00e72f1a02fc1f7b63ea4ef747ba18"/><file name="Observer.php" hash="659576bf1859959b5b890eaf0e3ed887"/><dir name="Resource"><file name="Log.php" hash="24b083056fcb18954a72c87eb67421a9"/></dir><file name="Zend.php" hash="62867a57ba8e68a150055b5a4db9ee6a"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="RefreshController.php" hash="54b78c3619e28c26585e6111bd90450f"/></dir><file name="RefreshController.php" hash="6702b9e4aaac22baad8a29030b956742"/></dir><dir name="etc"><file name="config.xml" hash="587c37a06b7bd60161c9c3d793d070f2"/><file name="system.xml" hash="edeedb1737798eda557aa9c5faf09b8f"/></dir><dir name="sql"><dir name="captcha_setup"><file name="install-1.7.0.0.0.php" hash="6e8d794f94dadd6f266c7fe329e9eef7"/></dir></dir></dir><dir name="Catalog"><dir name="Block"><file name="Breadcrumbs.php" hash="dab2381718549050f05cbb86706b7e5e"/><dir name="Category"><file name="View.php" hash="f14a047e957430565a3292784ec3c9b8"/><dir name="Widget"><file name="Link.php" hash="bad2d201324e439074ec22972d1e3972"/></dir></dir><dir name="Layer"><dir name="Filter"><file name="Abstract.php" hash="eefcbcb98818b2ae12e3506aada0c913"/><file name="Attribute.php" hash="d5bd80637bf7dd879ade11e6259f05d6"/><file name="Category.php" hash="06f66db270055c1153068ec990c54df5"/><file name="Decimal.php" hash="29865012d50a70ab2d144e4c0cb8ac9d"/><file name="Price.php" hash="5636ca99c6588924845c484594f1e873"/></dir><file name="State.php" hash="a9c13d850f4607a04d1c428e98a2c4c9"/><file name="View.php" hash="11e3c1f24d801f6431e3be49aca41583"/></dir><file name="Navigation.php" hash="89f15c96eb17886c364ddf87d4e456a4"/><dir name="Product"><file name="Abstract.php" hash="d9507147f34f1179a6330011706a3705"/><dir name="Compare"><file name="Abstract.php" hash="c48b7dab6bee655b6eadd762fd242606"/><file name="List.php" hash="f3cb7750c7227edd3b87e33ebe46cab3"/><file name="Sidebar.php" hash="aac8306a9e8613dfc7f2a0dc36b04398"/></dir><file name="Gallery.php" hash="357c7d68ef3eff66f551627a5d5d0467"/><dir name="List"><file name="Crosssell.php" hash="876a23484f926c2e29d2ec07a571dfc8"/><file name="Promotion.php" hash="f4bb4b4626b8a15443a4ae04bef9ae0e"/><file name="Random.php" hash="3541c59092f62a31889e5aebb00456d4"/><file name="Related.php" hash="f20a66f4de9ae05a91ca2091633ef51d"/><file name="Toolbar.php" hash="860922416d2d9ab6cb606e349ce4cc86"/><file name="Upsell.php" hash="955a21e298fd8d6ab05b4a71bdde936a"/></dir><file name="List.php" hash="37b2ef7921f5bcdea08faa7dfa24525c"/><file name="New.php" hash="1660afbb4e83ff8f7218c91c5c6aafcf"/><dir name="Price"><file name="Template.php" hash="174757929a4637d3d4569b7804409562"/></dir><file name="Price.php" hash="eeed225d412451fec2f937bce058dbb0"/><file name="Send.php" hash="563e1e0b47de6cded50958fc8ba7c943"/><dir name="View"><file name="Abstract.php" hash="b22e9d718bf41c5382c4dc58cc003f8b"/><file name="Additional.php" hash="64048a426caafbf36d41dab9e077dc84"/><file name="Attributes.php" hash="b9eb935b62dc4693f15604a3737b76e8"/><file name="Description.php" hash="62bcfd7556f13279339e0f8953b22e7f"/><file name="Media.php" hash="4e576e71f469f2210808ef5df5827246"/><dir name="Options"><file name="Abstract.php" hash="ee57d5767122bb1fc496aee7bdeec76a"/><dir name="Type"><file name="Date.php" hash="21eca2c2db2061b75cf944f1d8fd4a94"/><file name="Default.php" hash="d643f7ddf73ab70e504fd70a5c1460a7"/><file name="File.php" hash="407e9c7d21b1f8c8a7ba830487ce9e94"/><file name="Select.php" hash="cbe99df038ac71aca106800fc39f22b7"/><file name="Text.php" hash="8a74862cba8bf5aa680c5f9104bea6f6"/></dir></dir><file name="Options.php" hash="ff35316d33688661240c14d9dc567c05"/><file name="Price.php" hash="1f6e98dfdae3f71d86a84eef7ea98e90"/><file name="Tabs.php" hash="11630345e930dbcf6e9729a16b09a589"/><dir name="Type"><file name="Configurable.php" hash="df66e796afaa342e19e0b43dbe7f2f35"/><file name="Grouped.php" hash="b131a8ec490670de0b7a0043f23d6707"/><file name="Simple.php" hash="4e2214d776eca1f2baae3b6774f7f2af"/><file name="Virtual.php" hash="df4a51eec042f9024c6dd9086456d93e"/></dir></dir><file name="View.php" hash="756eb39b2cf56c4159765636f036889c"/><dir name="Widget"><dir name="Html"><file name="Pager.php" hash="e59c96a77fa455d8a2aeb09b15f0a234"/></dir><file name="Link.php" hash="2502953b5e8b48182daa221517ea76f9"/><file name="New.php" hash="4a9a8981957dc0511cece8c9a6f498e3"/></dir></dir><file name="Product.php" hash="4444c47b16af1ee34a1c77aff29dd3f5"/><dir name="Seo"><dir name="Sitemap"><file name="Abstract.php" hash="5c0e40f42669d48af47b389a28501475"/><file name="Category.php" hash="b5ac1974fe6256597bd24f4b15484ef5"/><file name="Product.php" hash="df73746b3b434bf7d893afb16146ef27"/><dir name="Tree"><file name="Category.php" hash="b5512d7fe864e588c070ff10dbe8ce3a"/><file name="Pager.php" hash="fb5588cd7322c23026f27638a45c8d65"/></dir></dir></dir><dir name="Widget"><file name="Link.php" hash="d2c57e7e866c3bba797b9ae3780afb47"/></dir></dir><file name="Exception.php" hash="32ae17c72416f6c75b88e74776a42a17"/><dir name="Helper"><dir name="Category"><file name="Flat.php" hash="2a2cf087a8b262591b88d789c7ff508a"/><dir name="Url"><dir name="Rewrite"><file name="Interface.php" hash="0c6a04a205885d1dfa6ba43aa60a78ab"/></dir><file name="Rewrite.php" hash="c9144f35444311c1de4b69adcba1011c"/></dir></dir><file name="Category.php" hash="d2c4aaf8f55f2301d2c0c3aadaff5f94"/><file name="Data.php" hash="7fd21ab1980277fe851d3dcdee2ee9f7"/><dir name="Flat"><file name="Abstract.php" hash="4a669e8b86c77ac0375a39ec9ebd1c22"/></dir><file name="Image.php" hash="fc24b86e9a7e49f0d87b61e26c1762be"/><file name="Map.php" hash="991aae7948ba842c94fefc0c878194c5"/><file name="Output.php" hash="e66c7741f02e3f4fce1c0e8550f80bfc"/><dir name="Product"><file name="Compare.php" hash="052778e69e62955d8ba74a3ae0047c9d"/><dir name="Configuration"><file name="Interface.php" hash="7d6901165ea30966851e82735c64daa1"/></dir><file name="Configuration.php" hash="c5ec178e865833147bc26ebd9cdfcfb9"/><file name="Flat.php" hash="2d8f5df2a838567dcf003376361401df"/><file name="Options.php" hash="98afa1990b749d872ce9aad28c8b3061"/><dir name="Url"><dir name="Rewrite"><file name="Interface.php" hash="9b4996a5e9d4daa89c036dbfbd771543"/></dir><file name="Rewrite.php" hash="acda3fe8908422645c410bc8bd624b24"/></dir><file name="Url.php" hash="b674d6731e3cb8c63e179bdcb76588ff"/><file name="View.php" hash="61797e538e15b10861c88a021841dfd3"/></dir><file name="Product.php" hash="2de823968c3ddbd5b612327a36282a97"/></dir><dir name="Model"><file name="Abstract.php" hash="3103620674496397bb4d21b9ec28f34f"/><dir name="Api"><file name="Resource.php" hash="a9fcca8b2c3419a9bcbfe65e4041f939"/></dir><dir name="Api2"><dir name="Product"><dir name="Category"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="8e42c2fa4ea79661f52c74bc8e43be3d"/></dir><dir name="Customer"><file name="V1.php" hash="d59ddd14679c8f9aa2ae7db86933d883"/></dir><dir name="Guest"><file name="V1.php" hash="e8021ef740e59a287d260d05db4323dd"/></dir></dir><file name="Rest.php" hash="93da01fc7573f0cb21f5ce8491e6e964"/></dir><file name="Category.php" hash="fd88a7c38acc3a4557fd97b8b528ecb5"/><dir name="Image"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="dc9a608bdba7831626b0bb3359edffb7"/></dir><dir name="Customer"><file name="V1.php" hash="7a8ec1c18d4879fb8847b4d70dc5a9d4"/></dir><dir name="Guest"><file name="V1.php" hash="53575456ac195abf8394e62f5cd574fd"/></dir></dir><file name="Rest.php" hash="5fc432d50069268bf87de3dd29f2b976"/><dir name="Validator"><file name="Image.php" hash="01d68ef27814d7262873018bec12a16d"/></dir></dir><file name="Image.php" hash="458a3a2d0af701ce6d92a1920faf4c13"/><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="83ef1afb58c8c5e3467fadfcc3dc72d4"/></dir><dir name="Customer"><file name="V1.php" hash="a341b1f231dec3c5b9742bfebcce7ec1"/></dir><dir name="Guest"><file name="V1.php" hash="53e0fdddf85dce5e474c706e528807b9"/></dir></dir><file name="Rest.php" hash="108eb659fd7de8d1d8dabf9d90abbbbf"/><dir name="Validator"><file name="Product.php" hash="69f20a23d0c413691ce8f3dcf01eedb3"/></dir><dir name="Website"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="23dc33bf46785827175930e1a15dc98e"/></dir></dir><file name="Rest.php" hash="a1a997aed079d3b7b27c0c395168a6bd"/><dir name="Validator"><dir name="Admin"><file name="Website.php" hash="e5b41e2f3cd67239b3226f5b580bcf1f"/></dir></dir></dir><file name="Website.php" hash="b490f8b56d66fe8c07429a7acfb23d1f"/></dir><file name="Product.php" hash="153b39154268727a39abbb70f206f293"/></dir><dir name="Attribute"><dir name="Backend"><file name="Customlayoutupdate.php" hash="8f3647c7ae0e9c71207091565a1d39d1"/><dir name="Urlkey"><file name="Abstract.php" hash="c0577637ef3b436a7218e9b6878adf19"/></dir></dir></dir><dir name="Category"><dir name="Api"><file name="V2.php" hash="e14aa15dd60b7968dc8a891791543b22"/></dir><file name="Api.php" hash="c2ec820764496fee4761a3652a45fe33"/><dir name="Attribute"><dir name="Api"><file name="V2.php" hash="fd7327a2eafc0a8a610f3a6fa39d22b1"/></dir><file name="Api.php" hash="8ab727a2af4401214c65d6a012b53b84"/><dir name="Backend"><file name="Image.php" hash="b8f275fc5befeeef8db39f4b42ed072d"/><file name="Sortby.php" hash="b4c6f5653a4b31079e40966511967c56"/><file name="Urlkey.php" hash="06f279de5fe222551e97b52ac1b59f31"/></dir><dir name="Source"><file name="Layout.php" hash="eba97851f2d59acec18db86202cbac4a"/><file name="Mode.php" hash="7aec1c98ef4706fbd84ee611d7529f8b"/><file name="Page.php" hash="9921b94d1305a74d8014c7eb3729cbf5"/><file name="Sortby.php" hash="1680da2e35d1232a59bb5e8139411f18"/></dir></dir><dir name="Indexer"><file name="Flat.php" hash="9d836804fb252ced0f1bae5e135a5e5a"/><file name="Product.php" hash="6bb2b173560b41800c67f1521ff2065c"/></dir><file name="Url.php" hash="d007be46a04160a3dab1c9ca48bf9b22"/></dir><file name="Category.php" hash="77f096d5a872a4af01317e2e7a9be122"/><file name="Config.php" hash="d2b67ebef5018fbe4806da55480fdf58"/><dir name="Convert"><dir name="Adapter"><file name="Catalog.php" hash="ec918565e45f17766817ea0a9aac9b5a"/><file name="Product.php" hash="5d8e58bdf5ba6aea18b51e7e53436351"/></dir><dir name="Parser"><file name="Product.php" hash="03dad5f92788f30c56329f84df76eb02"/></dir></dir><file name="Convert.php" hash="f4cb35d34b7e7b56c4ed16b28dde40c6"/><file name="Design.php" hash="3b424406387f0a395fb9bfee18eda2e7"/><dir name="Entity"><file name="Attribute.php" hash="65db780e088fefa284113d2a4d0d40bb"/><dir name="Product"><dir name="Attribute"><dir name="Design"><dir name="Options"><file name="Container.php" hash="cf987ae7b06b896650c8bbe35ebabed9"/></dir></dir><dir name="Frontend"><file name="Image.php" hash="2981031837295463e1d57f91b1b99512"/></dir></dir></dir></dir><file name="Factory.php" hash="5c940ab0d0ceae28c8a43a60f27e2d14"/><file name="Index.php" hash="3e6e38408882ce699a05cbccd5ed3c06"/><dir name="Indexer"><file name="Url.php" hash="a83fb403cb6ca1e6cb06aa98065705ba"/></dir><dir name="Layer"><dir name="Filter"><file name="Abstract.php" hash="8b543a2ea812d0100ed90183f8d54e9a"/><file name="Attribute.php" hash="6cf9b952b4a412dc1c5e662081ed7b76"/><file name="Category.php" hash="7fdfcc712efa16a0decc3786f5f28d83"/><file name="Decimal.php" hash="ebdf5a89c4a88f826101c27b98641f3d"/><file name="Item.php" hash="39b10c69714aaeab6b3980223d5f1544"/><dir name="Price"><file name="Algorithm.php" hash="2628a11cb85cd42fe49e89d56b14b4d1"/></dir><file name="Price.php" hash="9c536ad60547a4241e5e351a593b9bb0"/></dir><file name="State.php" hash="635bc64507b1d11312854ad582a08c38"/></dir><file name="Layer.php" hash="33f0735a45d5192876749545e960c80b"/><file name="Observer.php" hash="53b5ff795856c5a53ef73c2cac1875ea"/><dir name="Product"><file name="Action.php" hash="d9613b0275dde94f06e92b1454e95265"/><dir name="Api"><file name="V2.php" hash="f9fb5e59206b221a1af51af4d67720a6"/></dir><file name="Api.php" hash="8e921b1b5d0d9abaf414ea515ca9d833"/><dir name="Attribute"><dir name="Api"><file name="V2.php" hash="676fd9d10ea5a48f2a622da80ccb47f7"/></dir><file name="Api.php" hash="facd4342fe4a4500a5aad27974806b2f"/><dir name="Backend"><file name="Boolean.php" hash="8ef39bdda67176eafea7e35380862e7a"/><dir name="Groupprice"><file name="Abstract.php" hash="d55be51c8b1b3df3c3ad6a40b450eadb"/></dir><file name="Groupprice.php" hash="4b9119c5a3f1a0a64b9e5e2f10349970"/><file name="Media.php" hash="b4075b7962ee7b4e7e9bf52809631a6e"/><file name="Msrp.php" hash="d2b4d99ed552f9cacf31634eef4eb78b"/><file name="Price.php" hash="b537265d74c73a8e0b1a59ca29ab59ca"/><file name="Recurring.php" hash="c5517fd0cb006a2ad38a7de84d57a3ce"/><file name="Sku.php" hash="40334dcdae3fca0ab8eb0cd9421933b7"/><dir name="Startdate"><file name="Specialprice.php" hash="aa33b14f5f1de6708efa6ef7a905b516"/></dir><file name="Startdate.php" hash="3f3819c60c86b91ae45b4ac279edb0fc"/><file name="Tierprice.php" hash="f978087f28711f7aec541e68e0f0f376"/><file name="Urlkey.php" hash="4c539dd4d1d3007a9d8fc09f967375d8"/></dir><dir name="Frontend"><file name="Image.php" hash="cae0a80831e2b3ca348577bf9dadd860"/></dir><file name="Group.php" hash="c233ddf9563a5b22d72232104384651b"/><dir name="Media"><dir name="Api"><file name="V2.php" hash="7f8b2e79e74698e557df3143e47f20ea"/></dir><file name="Api.php" hash="555d8539a15f3b5aa88c2f6244c49115"/></dir><dir name="Set"><dir name="Api"><file name="V2.php" hash="946b1c83955e059047f6ec3eb9985184"/></dir><file name="Api.php" hash="1580b4dfd2e989d83b0c3f451af58eed"/></dir><dir name="Source"><file name="Boolean.php" hash="e3acf66166cfb90ed611af2930a2e09a"/><file name="Countryofmanufacture.php" hash="f85b0a53f73e1ac0d8447132839ce577"/><file name="Inputtype.php" hash="e467064e239e36589353a6e6652c9138"/><file name="Layout.php" hash="e93a209f3093c5f5993d936ba6c2a6d2"/><dir name="Msrp"><dir name="Type"><file name="Enabled.php" hash="2ff76f69352ac583fd6ab9a85928733d"/><file name="Price.php" hash="f2dd34500faff206fa2d3e11bdf989ee"/></dir><file name="Type.php" hash="50a3f2d6ffac9dc2e08617811597733a"/></dir></dir><dir name="Tierprice"><dir name="Api"><file name="V2.php" hash="24d1eec7a3258cdbf86de7d99e714b9c"/></dir><file name="Api.php" hash="8385c627c4b3a36a97a6ce0e1ab8b855"/></dir></dir><dir name="Compare"><file name="Item.php" hash="63e7762670f57ac31acd8afa7367786f"/><file name="List.php" hash="27165978b12b654090aca4c348ffb6c8"/></dir><dir name="Condition"><file name="Interface.php" hash="4bac667bc046c13017377423fdde69f0"/></dir><file name="Condition.php" hash="c10a6a33977bd8a021bf83b0021b9abb"/><dir name="Configuration"><dir name="Item"><file name="Interface.php" hash="c07904168054df17507307f9c285b975"/><dir name="Option"><file name="Interface.php" hash="94125408528b68bc52b3b6cf1b2900fc"/></dir><file name="Option.php" hash="3c4c1ed602ccdd72b4ec151a18553d5a"/></dir></dir><dir name="Flat"><file name="Flag.php" hash="405820b0f95dab6fd33a749c21f7a5be"/><file name="Indexer.php" hash="3a7e8d73cae80a15a60c1c555a50a81c"/><file name="Observer.php" hash="769223829dc4d75b7593fa631b00dfb6"/></dir><file name="Image.php" hash="f40a8b18d965f4eab6dcc6891755ee13"/><dir name="Indexer"><file name="Eav.php" hash="7d74bc107ddc43da8498d77c97404ae8"/><file name="Flat.php" hash="1e6d861ae255d6b381f93e7eaf9e937b"/><file name="Price.php" hash="2624163fa13495ae28ee92ec587bf495"/></dir><dir name="Link"><dir name="Api"><file name="V2.php" hash="9e88d6905d523db13deee214501437e0"/></dir><file name="Api.php" hash="dfbb72a54bcb6c333f19b6b04553cda3"/></dir><file name="Link.php" hash="9fb1eeb979fb2e5a0854217feb11b798"/><dir name="Media"><file name="Config.php" hash="f0ac7b414a245deee9028917ade49cb9"/></dir><dir name="Option"><dir name="Api"><file name="V2.php" hash="295b9141f8b71108506896baaa0663e7"/></dir><file name="Api.php" hash="453d5d3d0a67ce2fefd9c449b744184a"/><file name="Observer.php" hash="11fc3d20f2880b159cc67ee863f5d403"/><dir name="Type"><file name="Date.php" hash="c4a7c48703337c027ad3d346224de33a"/><file name="Default.php" hash="36a093fe5b2aeb6a4c9992fbc70ca09c"/><file name="File.php" hash="5046c92d54f755462859a629d7bf12ae"/><file name="Select.php" hash="a1c5a0bfaafb1988ae9743646ec93c71"/><file name="Text.php" hash="d5d534ac247bde4bde6c4c502cfd5504"/></dir><dir name="Value"><dir name="Api"><file name="V2.php" hash="a68a7921a51f26bb3310478757b9e91a"/></dir><file name="Api.php" hash="a9230fb72895529e3212529fa035747b"/></dir><file name="Value.php" hash="2bcd5835204eec255f43fc763cabb19b"/></dir><file name="Option.php" hash="814db51ec4f4773266c176eb634c258c"/><file name="Status.php" hash="5dcbbe7769ef951715e659c2018cbd59"/><dir name="Type"><file name="Abstract.php" hash="4f466aae98f72edd97167c4b07180f5e"/><dir name="Api"><file name="V2.php" hash="81db9eb28dfa1cd4d927080d3a7ea612"/></dir><file name="Api.php" hash="3a6ebc6d8673b4f7af4ab2c5a3b12e16"/><dir name="Configurable"><file name="Attribute.php" hash="eb6e2a83ca8424339ac3cc0a5a4749c9"/><file name="Price.php" hash="1bea7b9f3d0de0946afa858a064fa379"/></dir><file name="Configurable.php" hash="3edd0599bf23f1995aa4963de3a55044"/><dir name="Grouped"><file name="Price.php" hash="0253182ccb911eabe8e19e669c8c7638"/></dir><file name="Grouped.php" hash="76016646cb2ea0a90160641e42d1a241"/><file name="Price.php" hash="6d2c627c4111efe5e4591697cdb22731"/><file name="Simple.php" hash="7f607549b4d12517f66a88987df9bb20"/><file name="Virtual.php" hash="829085212233f496782c9e9b031b6b3b"/></dir><file name="Type.php" hash="92b34b54f22e84f8ca82d0d9a746a562"/><file name="Url.php" hash="7f2ac3f907c3e6b6d9ea08c03723d2d5"/><file name="Visibility.php" hash="668ecfc9a1e2a53c0907088bc330c35e"/><file name="Website.php" hash="aa009a7f09e86588e7fb998b72a6ff5b"/></dir><file name="Product.php" hash="9dab6209a5352682012568a3bc3b8f25"/><dir name="Resource"><file name="Abstract.php" hash="f20d54eac39563874e060a0b181c42e1"/><file name="Attribute.php" hash="b6532d842732783f7ef1ebc3c38fd5b7"/><dir name="Category"><dir name="Attribute"><file name="Collection.php" hash="0e61f25ea822f1d50cbe0a97346ffbc0"/><dir name="Frontend"><file name="Image.php" hash="ec8d42c78ff0950dbc56e847e00afcf9"/></dir><dir name="Source"><file name="Layout.php" hash="b00432ca67ec3fc9e9322d4fb73f0cf6"/><file name="Mode.php" hash="391399eb421fc1d9b040c17020f6b741"/><file name="Page.php" hash="65d5115df4e8a006ae4b41e7be6b6b4e"/></dir></dir><file name="Collection.php" hash="7bfdbb5958be323e71dc4ea7b98af331"/><dir name="Flat"><file name="Collection.php" hash="072eb6260f847b9ce71bf38531ff5792"/></dir><file name="Flat.php" hash="d343d9a62fdbe22eb8634e178ebca640"/><dir name="Indexer"><file name="Product.php" hash="64e41b3a3d96c22b140adc45efef8006"/></dir><file name="Tree.php" hash="f0d2efe1b5319894776cb782df59edd2"/></dir><file name="Category.php" hash="e40e22f7750cd26686f3fa9272749898"/><dir name="Collection"><file name="Abstract.php" hash="409f7b6f1ad5cf20b04d2a37bc7620fb"/></dir><file name="Config.php" hash="2db6fae019ec79c5a7e6cb1daa8566bc"/><dir name="Eav"><file name="Attribute.php" hash="6f43e1f0f5f2e9d1e1ff1aec400b5a66"/><dir name="Mysql4"><file name="Abstract.php" hash="ff5dbeb55fd6724afd42c09ed24cdc3c"/><file name="Attribute.php" hash="ede0ac3bfd412f86e2c36ed0a6f74b60"/><dir name="Category"><dir name="Attribute"><file name="Collection.php" hash="6d94bb5588fc4d1920e259037f93ffa4"/><dir name="Frontend"><file name="Image.php" hash="95a4d8e08d90d8da6b8340aa2b6f38f5"/></dir><dir name="Source"><file name="Layout.php" hash="929d6df5866c2fd332a2987b5d2fd953"/><file name="Mode.php" hash="6fed21b7c38e82b63b4edf38ad3be77c"/><file name="Page.php" hash="af44999736b5920e9a2ca662dff3cfaa"/></dir></dir><file name="Collection.php" hash="6c1e26b5f970df68c0858b7a6795fa78"/><dir name="Flat"><file name="Collection.php" hash="b56facaa8645f40ac01656900ae1f3cc"/></dir><file name="Flat.php" hash="3359d45de68809b455a8a9790633830c"/><dir name="Indexer"><file name="Product.php" hash="d294b0bd3c8aa36c8644b765377a9f26"/></dir><file name="Tree.php" hash="c0e160c2837e04122994443e26d5a8d8"/></dir><file name="Category.php" hash="859f32339e6411f3a4fd53e9ef484f55"/><dir name="Collection"><file name="Abstract.php" hash="672e5e04854b2c04acb50a2c22c6a5e0"/></dir><file name="Config.php" hash="6f86cfbbfabef5d5781a5c45bc2ac2cc"/><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="fcae67002e0a13614d5cfa11bb3f9044"/><file name="Decimal.php" hash="caa9eeee21a2dd5c806f3e83187a2e3b"/><file name="Price.php" hash="e49f552f44e6f59a97308bbed3d676ba"/></dir></dir><dir name="Product"><file name="Action.php" hash="e06b482cbb05de0f5c3a1b7f52c489bd"/><dir name="Attribute"><dir name="Backend"><file name="Image.php" hash="2438a13ffd8ba611955da135ba21c311"/><file name="Media.php" hash="d79857a5c10ac663691f55aa57b67957"/><file name="Tierprice.php" hash="ab380b633930301d131e0197f8747591"/><file name="Urlkey.php" hash="6c73b3436b040c859aadf9170c1bf9ea"/></dir><file name="Collection.php" hash="7b19cc84c1d35a09e775c70371c6a497"/><dir name="Frontend"><file name="Image.php" hash="16ec1ce2c602bcdb4764f04e97f8d1cc"/><file name="Tierprice.php" hash="bdaed65aa2d80a336a3966281893d7ae"/></dir></dir><file name="Collection.php" hash="97955be99c1f8f11f18b1af0763e9f5c"/><dir name="Compare"><dir name="Item"><file name="Collection.php" hash="80b9462ca1e9c0913d6d900d3da693f6"/></dir><file name="Item.php" hash="21919b8317303faa3b89d512ab268799"/></dir><dir name="Flat"><file name="Indexer.php" hash="de7818687372ab28543cd55c78bc4431"/></dir><file name="Flat.php" hash="4075045a5ccd98c92b5869873a4b29de"/><dir name="Indexer"><file name="Abstract.php" hash="734c4b1b6bad250cbd87c23cd03eb444"/><dir name="Eav"><file name="Abstract.php" hash="7b25ac3487d6e0549be448a453e6ea0f"/><file name="Decimal.php" hash="a56359dd2804d1b98e0bbdbb1f2023ac"/><file name="Source.php" hash="25353cd3162a000db1354bb031eba979"/></dir><file name="Eav.php" hash="eaaec7260717874a205b7c61e4c9a4b3"/><dir name="Price"><file name="Configurable.php" hash="31542ad203aef5d0185ce31471cb8773"/><file name="Default.php" hash="09efe3a441871a09940d183719369548"/><file name="Grouped.php" hash="1a09b97f2beaf2efcfdae52b1faf681d"/><file name="Interface.php" hash="b6e66a323e75e0c27584e232df6abb59"/></dir><file name="Price.php" hash="64837824ce41dd4e2a49e3c4e9355498"/></dir><dir name="Link"><file name="Collection.php" hash="2ae3996a8cac1413b9e3de5ea8b14385"/><dir name="Product"><file name="Collection.php" hash="a836990749fb372ebbd47608f5b2f04f"/></dir></dir><file name="Link.php" hash="f655704180895e85cc3245f5ea5134b8"/><dir name="Option"><file name="Collection.php" hash="27708fca4f45596a5e022eff29d19e66"/><dir name="Value"><file name="Collection.php" hash="c4746b8e0417aaafb693a0951f8c8676"/></dir><file name="Value.php" hash="041532a06fcd462d7dd481bb871cd070"/></dir><file name="Option.php" hash="184ae5c7ea858ea2029f57f59be809b9"/><file name="Relation.php" hash="07932cef0d70c5c2c42fa89bb0c1bfe5"/><file name="Status.php" hash="223c720090804a8ebed818cf36fe0193"/><dir name="Type"><dir name="Configurable"><dir name="Attribute"><file name="Collection.php" hash="c83735912b97dd31606ee4026745d8f0"/></dir><file name="Attribute.php" hash="ea01bce53397e1296418bd8ce58c9de4"/><dir name="Product"><file name="Collection.php" hash="5544baaa0fe365f68c82345f138f2cd3"/></dir></dir><file name="Configurable.php" hash="a3485101701ce27a1245face359bbacf"/></dir><file name="Website.php" hash="86d83b6ac6a33770f0d500af50249c7d"/></dir><file name="Product.php" hash="92cfd76f424656a754c5bc891e791cb7"/><dir name="Sendfriend"><file name="Collection.php" hash="c0a9d608296e3e14c54d6e1403fa0ce5"/></dir><file name="Sendfriend.php" hash="6d48bb31391b8f8b95e657cde0be7762"/><file name="Setup.php" hash="332bc2a49c8d89cc1da7ea3558b13752"/><file name="Url.php" hash="8ff30475c857c213a1524b92478cce47"/></dir></dir><dir name="Helper"><file name="Mysql4.php" hash="7c385341d8dfbe3e12417018501fe433"/></dir><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="f09cb0f19a7be42ab682ec67f3c2fbfb"/><file name="Decimal.php" hash="728037aecaabab3dea236d55ad466983"/><file name="Price.php" hash="81c8b318f93065a1313a5083985a6f5d"/></dir></dir><dir name="Product"><file name="Action.php" hash="3ecee6a9d5e528d1005c46feeffbd7fd"/><dir name="Attribute"><dir name="Backend"><dir name="Groupprice"><file name="Abstract.php" hash="3320e1ac24eed9782ac1eae7749a6f5c"/></dir><file name="Groupprice.php" hash="dfde72fdbac10316a3ce4b70a88cfd24"/><file name="Image.php" hash="98d7acc0ed12be48ff7c1ba82c3f4787"/><file name="Media.php" hash="7f7d8d066c4cf9b6b29b708e7b4b8c19"/><file name="Tierprice.php" hash="6abee5dcc3c234e50e8a2d7de254d0d9"/><file name="Urlkey.php" hash="2c13425706769e774a505009ffa87933"/></dir><file name="Collection.php" hash="f09a2706f0cc1c52d2106bb015b63256"/><dir name="Frontend"><file name="Image.php" hash="2031b292025aea8ad2c03698d8b88fdd"/><file name="Tierprice.php" hash="05a89f28521f362e39e959bba5f7c665"/></dir></dir><file name="Collection.php" hash="5e7c2d8882d8cff927d7993f8449ec4c"/><dir name="Compare"><dir name="Item"><file name="Collection.php" hash="4682910e74f1e83109a32b40f2d9f34f"/></dir><file name="Item.php" hash="a01172e17e3dad083a7a64f9cb6318f1"/></dir><dir name="Flat"><file name="Indexer.php" hash="cf608c32673e53c82b5218768c5a536c"/></dir><file name="Flat.php" hash="8193a7748b2a61d95cccbf050dc624ed"/><dir name="Indexer"><file name="Abstract.php" hash="4ce37f276d4aa581fc88ff92d61fe58c"/><dir name="Eav"><file name="Abstract.php" hash="0fe745af8f1b930ebd6dce5444672fdf"/><file name="Decimal.php" hash="0c4947e231e3722be366aff13f18b4bc"/><file name="Source.php" hash="f2e3a3b9e85bfde38805bda6f3c1bce9"/></dir><file name="Eav.php" hash="5687b6aef04079e2f27db54f60475ad1"/><dir name="Price"><file name="Configurable.php" hash="7e7e36cb2f769869b5b40f92f6edd89f"/><file name="Default.php" hash="a55d3119bdfeafafc098c77f7239a8a8"/><file name="Grouped.php" hash="e4629b734f76c5ef342407ace05e9c6c"/><file name="Interface.php" hash="b5cb0804860612471abeb6dafff7324c"/></dir><file name="Price.php" hash="2f1697c7c661b285d1afb6b42e1be83d"/></dir><dir name="Link"><file name="Collection.php" hash="4305b11e90fb5c1a795277e8d8b3c95d"/><dir name="Product"><file name="Collection.php" hash="23f8256bb24434e0a95e39ba241de1bc"/></dir></dir><file name="Link.php" hash="bcd8db6c4d0e2d87a30bb65e243974f3"/><dir name="Option"><file name="Collection.php" hash="7624675ddb98f808be646109562ce272"/><dir name="Value"><file name="Collection.php" hash="69474973f904b263cbb9f1227d0c62db"/></dir><file name="Value.php" hash="8e9c636044ac2ec2c4c2342ed22011bd"/></dir><file name="Option.php" hash="a1118f95a3b411edd7767badf0e3838c"/><file name="Relation.php" hash="accc9f5e417192ca5ef4968564e9478e"/><file name="Status.php" hash="fed573760af2fddc873678ff57df5592"/><dir name="Type"><dir name="Configurable"><dir name="Attribute"><file name="Collection.php" hash="01861a0d2f24542a3a732b167ff55590"/></dir><file name="Attribute.php" hash="c768f597c9aec823e79a554d7cd4763a"/><dir name="Product"><file name="Collection.php" hash="b573e6295f5cc4a76eae1937559876be"/></dir></dir><file name="Configurable.php" hash="cd48973bc8b1b7484eea3be93713cb69"/></dir><file name="Website.php" hash="86b909ce4bb1bc5759df3381b9409e34"/></dir><file name="Product.php" hash="7acc4fb438509e65fd11e741403542e5"/><file name="Setup.php" hash="33355298a0b2d9e4012ba0712687e5a7"/><file name="Url.php" hash="b5a13b469f829617a8c0a73a1599a984"/></dir><file name="Session.php" hash="333421356b45a753ca190bd001cb2e68"/><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Catalog"><dir name="Category"><file name="Flat.php" hash="2c8fe43e4a233bf8934704c7fe0a8ec0"/></dir><dir name="Product"><file name="Flat.php" hash="754061a0376e7a804be51ba5ff644e66"/></dir><dir name="Url"><dir name="Rewrite"><file name="Suffix.php" hash="23ecaf925ea7ef9197cf7c9423352a98"/></dir></dir></dir></dir></dir></dir><dir name="Template"><file name="Filter.php" hash="96c6dfeae7b67990d60d77bc162a5b1a"/></dir><file name="Url.php" hash="2f3325358a78597164094dfdec07b2a6"/></dir><dir name="controllers"><file name="CategoryController.php" hash="c7c68016b46bd824b748959d090013ee"/><file name="IndexController.php" hash="ac301f4a5039061c8d4cf5e58b90fb26"/><dir name="Product"><file name="CompareController.php" hash="a97e663d47459bf714484cdde8c0591d"/></dir><file name="ProductController.php" hash="aba9a281433847277420e5da2e769c82"/><dir name="Seo"><file name="SitemapController.php" hash="0ad9c48e4a286100a0157896b89c14ff"/></dir></dir><dir name="data"><dir name="catalog_setup"><file name="data-install-1.6.0.0.php" hash="c4ca68125954765c850feaec77d77105"/><file name="data-upgrade-1.6.0.0.12-1.6.0.0.13.php" hash="030e24354ba8aca75a886da56736e76a"/><file name="data-upgrade-1.6.0.0.13-1.6.0.0.14.php" hash="a63c31ff7ec6d9de4f11db70af34d702"/><file name="data-upgrade-1.6.0.0.4-1.6.0.0.5.php" hash="cec64dd7df5eef024a8496a3f72e4372"/><file name="data-upgrade-1.6.0.0.8-1.6.0.0.9.php" hash="a43bf0ff9fb72e57db9b883bd45aa382"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="b562b0c4140a43cdc7ed3fa21374a606"/><file name="api.xml" hash="eed902fc50af484f6484357fd6d5e013"/><file name="api2.xml" hash="10e038b1f127f74e8c0e3d1153cdffd3"/><file name="config.xml" hash="5d8a38e2f1603137fabce33a1468e8cc"/><file name="convert.xml" hash="59dccc5cc29cb3fbfc94eee26b529db2"/><file name="system.xml" hash="116c649d0cda56ed087b9c0761b9c1a1"/><file name="widget.xml" hash="0068b7b010d4985eb83b865ea838586d"/><file name="wsdl.xml" hash="fa198392d766134085b3c2ec1be4a0e9"/><file name="wsi.xml" hash="0acfd65c613ccb83404317500078a85d"/></dir><dir name="sql"><dir name="catalog_setup"><file name="install-1.6.0.0.php" hash="a57c3b2a53aa6384c2f0a693353fcba1"/><file name="mysql4-data-upgrade-0.7.57-0.7.58.php" hash="2120fdc78c6000ef2134b217f8c74f74"/><file name="mysql4-data-upgrade-0.7.63-0.7.64.php" hash="8f51c57d94bca45d11e27a0d8055147f"/><file name="mysql4-data-upgrade-1.4.0.0.28-1.4.0.0.29.php" hash="a194850e9a5388bf38b1ba5aa8739414"/><file name="mysql4-data-upgrade-1.4.0.0.42-1.4.0.0.43.php" hash="d0175f8e452128201765735009a5851e"/><file name="mysql4-install-0.7.0.php" hash="650ac4b7aff67f5e83639013d8f2b9fe"/><file name="mysql4-install-1.4.0.0.0.php" hash="243371a61b6c1e942b31abfaf4448d8f"/><file name="mysql4-upgrade-0.6.40-0.7.0.php" hash="2ea5fccbfdfd7dc682c57c1f0a4fe77e"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="dea20de1987cf262ec8ce66e6d05d785"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="8b171bb907cf9fac38b1ca561be15e9a"/><file name="mysql4-upgrade-0.7.11-0.7.12.php" hash="67cc3f88d62d577099591dba703591ab"/><file name="mysql4-upgrade-0.7.12-0.7.13.php" hash="5743235727dfa1b1745346d4a665dde0"/><file name="mysql4-upgrade-0.7.13-0.7.14.php" hash="c913f966bfbe54f9afc179916e346e3f"/><file name="mysql4-upgrade-0.7.14-0.7.15.php" hash="eda07a21268160d97d458708dccf3b5e"/><file name="mysql4-upgrade-0.7.15-0.7.16.php" hash="cbba89e54536d02170e5456e2b079ffd"/><file name="mysql4-upgrade-0.7.16-0.7.17.php" hash="5743235727dfa1b1745346d4a665dde0"/><file name="mysql4-upgrade-0.7.17-0.7.18.php" hash="7d1d1bead20fdf38cfab28cb21e78d6f"/><file name="mysql4-upgrade-0.7.18-0.7.19.php" hash="b6735d410395dfd34f21458427f99a13"/><file name="mysql4-upgrade-0.7.19-0.7.20.php" hash="67cc3f88d62d577099591dba703591ab"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="54a7a140bc602006a071acb6641673f7"/><file name="mysql4-upgrade-0.7.20-0.7.21.php" hash="4ba67e9710ca055f98a63d1df6c4f31f"/><file name="mysql4-upgrade-0.7.21-0.7.22.php" hash="ee461b2f49e962b362e1cfee547ecd9e"/><file name="mysql4-upgrade-0.7.22-0.7.23.php" hash="f61b8a86749dce0df458b02a835efe68"/><file name="mysql4-upgrade-0.7.23-0.7.24.php" hash="2050ea455761178daa9d220a34cd8254"/><file name="mysql4-upgrade-0.7.24-0.7.25.php" hash="261e90a21d40864974e60972cda1ae1c"/><file name="mysql4-upgrade-0.7.25-0.7.26.php" hash="261e90a21d40864974e60972cda1ae1c"/><file name="mysql4-upgrade-0.7.26-0.7.27.php" hash="2e2061fcffef07742e04f465c4545c64"/><file name="mysql4-upgrade-0.7.27-0.7.28.php" hash="047e843051f421435db7f9d45ad1bf3c"/><file name="mysql4-upgrade-0.7.28-0.7.29.php" hash="bad4802d0e999950f441f2adc841b8c7"/><file name="mysql4-upgrade-0.7.29-0.7.30.php" hash="448c3f0262d320927a67c3bdf2248b87"/><file name="mysql4-upgrade-0.7.30-0.7.31.php" hash="34ca255178a097f0bfd58d63024ff303"/><file name="mysql4-upgrade-0.7.31-0.7.32.php" hash="9c2270289ec1119ab13292825b7260e8"/><file name="mysql4-upgrade-0.7.32-0.7.33.php" hash="805cfe42d016780188eb0cb7bf5199fd"/><file name="mysql4-upgrade-0.7.33-0.7.34.php" hash="c115797b39ca05a11ba359bd2a997006"/><file name="mysql4-upgrade-0.7.34-0.7.35.php" hash="5e0c9878dca7097f391deb7f12041666"/><file name="mysql4-upgrade-0.7.35-0.7.36.php" hash="8c2ea970a1f8bfb1e4f8a44cbdb38fe6"/><file name="mysql4-upgrade-0.7.36-0.7.37.php" hash="07bf9ea01a058db11f3f53c2b262a547"/><file name="mysql4-upgrade-0.7.37-0.7.38.php" hash="30c07450806e0c47785c87ef33b93c30"/><file name="mysql4-upgrade-0.7.38-0.7.39.php" hash="b9272cd795d086256e30c392301dd694"/><file name="mysql4-upgrade-0.7.39-0.7.40.php" hash="48bddb7f32ca326c121521bea4aa123d"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="0e42c040a8ad7cdcd333513ad3242ea1"/><file name="mysql4-upgrade-0.7.40-0.7.41.php" hash="681a24fc90e818f247c9278e56fc22cf"/><file name="mysql4-upgrade-0.7.41-0.7.42.php" hash="9d42b6ee298ac25fb328fa5146492753"/><file name="mysql4-upgrade-0.7.43-0.7.44.php" hash="050e5d63ebfa04bdd57a6309679166f5"/><file name="mysql4-upgrade-0.7.44-0.7.45.php" hash="1a4cc1c7e259401c57aed4220483e633"/><file name="mysql4-upgrade-0.7.45-0.7.46.php" hash="5a4654a62a0811396925e2ca4adb2a46"/><file name="mysql4-upgrade-0.7.46-0.7.47.php" hash="c8b8e5055e15d33a8022ecc6adc77014"/><file name="mysql4-upgrade-0.7.47-0.7.48.php" hash="957376949159b9eb8753c9fa28a5a867"/><file name="mysql4-upgrade-0.7.48-0.7.49.php" hash="aaed0cde1206d55bf44cd3e6686af190"/><file name="mysql4-upgrade-0.7.49-0.7.50.php" hash="57b37f0719b078c4c625764d85ae5b03"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="7e0c59fa1f5d9f140fa31b3301efab6b"/><file name="mysql4-upgrade-0.7.50-0.7.51.php" hash="622a111a3f2b81c5d32b6d8025d1d048"/><file name="mysql4-upgrade-0.7.51-0.7.52.php" hash="b4c13ba1d8f8957f774abaf72ef35447"/><file name="mysql4-upgrade-0.7.52-0.7.53.php" hash="f62ec5e18aa80e66187cdf3b1de278de"/><file name="mysql4-upgrade-0.7.53-0.7.54.php" hash="757aa6098ea17b17d3116902dc7be3b3"/><file name="mysql4-upgrade-0.7.54-0.7.55.php" hash="96dc0d387fe6041c12a5cfa7014436f7"/><file name="mysql4-upgrade-0.7.55-0.7.56.php" hash="be67dce7c1e4b162e6f84d404ebf754d"/><file name="mysql4-upgrade-0.7.56-0.7.57.php" hash="3a269e09567cbc6bb616358059ab166d"/><file name="mysql4-upgrade-0.7.57-0.7.58.php" hash="3286e68856de2df6ad4727f4b06bb675"/><file name="mysql4-upgrade-0.7.58-0.7.59.php" hash="9d7e86bdc91bebcaa869322794fecf8b"/><file name="mysql4-upgrade-0.7.59-0.7.60.php" hash="38f210380cacc867ab17c56a6fefc71c"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="67cc3f88d62d577099591dba703591ab"/><file name="mysql4-upgrade-0.7.60-0.7.61.php" hash="0aa5d71181602994e81e57d12855dc41"/><file name="mysql4-upgrade-0.7.61-0.7.62.php" hash="115303e7a95de11ae88f7fc7d5bbad3d"/><file name="mysql4-upgrade-0.7.62-0.7.63.php" hash="05513ae185d2218c0cd7149a22d1ccd8"/><file name="mysql4-upgrade-0.7.63-0.7.64.php" hash="3361281520cea0d31c4ee630d7d727e4"/><file name="mysql4-upgrade-0.7.64-0.7.65.php" hash="92e376ef0bba20d8b619275fa76e139d"/><file name="mysql4-upgrade-0.7.65-0.7.66.php" hash="48d6fec6dde29cd75041f4d4ce5ee67e"/><file name="mysql4-upgrade-0.7.66-0.7.67.php" hash="d2976659ace49f2a265329db12b03129"/><file name="mysql4-upgrade-0.7.67-0.7.68.php" hash="89d1c98c285f09c343849cc930527b34"/><file name="mysql4-upgrade-0.7.68-0.7.69.php" hash="ea616d8ba8039db50d7d75460e2a1f46"/><file name="mysql4-upgrade-0.7.69-0.7.70.php" hash="52d5ad25a00242d9cea51db2b593021c"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="a68c2cd5a586e87a9351ee854cbd0d08"/><file name="mysql4-upgrade-0.7.70-0.7.71.php" hash="4247e7a1304a682043f2c028f8acface"/><file name="mysql4-upgrade-0.7.71-0.7.72.php" hash="b8d499e3820e95098b59241f1c1568f3"/><file name="mysql4-upgrade-0.7.72-0.7.73.php" hash="8387086581ab89ea580994e764abfdac"/><file name="mysql4-upgrade-0.7.73-1.4.0.0.0.php" hash="29b12a0fc191bed325fddadf54c24a08"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="180699aa8d5b88a650ee277ebbf77452"/><file name="mysql4-upgrade-1.4.0.0.0-1.4.0.0.1.php" hash="3b55a162a3af253b6506129c6df6360b"/><file name="mysql4-upgrade-1.4.0.0.1-1.4.0.0.2.php" hash="34a6f5923b96527a664a5598a8727a95"/><file name="mysql4-upgrade-1.4.0.0.10-1.4.0.0.11.php" hash="033f0c35991ba3a9c243f97e129c1269"/><file name="mysql4-upgrade-1.4.0.0.11-1.4.0.0.12.php" hash="a6faac10dad9ac7e8c7bba5ac816888e"/><file name="mysql4-upgrade-1.4.0.0.12-1.4.0.0.13.php" hash="ac727df9feaafbe4f71cf474ff734aaa"/><file name="mysql4-upgrade-1.4.0.0.13-1.4.0.0.14.php" hash="c28e9f8b3214308cb5a5d1da629b0245"/><file name="mysql4-upgrade-1.4.0.0.14-1.4.0.0.15.php" hash="2e39a7bfbd42ff9172a555d5610dd046"/><file name="mysql4-upgrade-1.4.0.0.15-1.4.0.0.16.php" hash="76eb00176e848426a7c2f2fa12a9c747"/><file name="mysql4-upgrade-1.4.0.0.16-1.4.0.0.17.php" hash="45f0e737d823702d981f3ee0ae700558"/><file name="mysql4-upgrade-1.4.0.0.17-1.4.0.0.18.php" hash="e90d278a0f5042539090da25152bfa90"/><file name="mysql4-upgrade-1.4.0.0.18-1.4.0.0.19.php" hash="72b100195e2885b4ef08c8d8c8f0a554"/><file name="mysql4-upgrade-1.4.0.0.19-1.4.0.0.20.php" hash="6b52232190f3c6bfbe6795c696477f61"/><file name="mysql4-upgrade-1.4.0.0.2-1.4.0.0.3.php" hash="2a830069f6b45abe68b6c752038c0ff1"/><file name="mysql4-upgrade-1.4.0.0.20-1.4.0.0.21.php" hash="b9b9101807c38728146574fb9ea943c9"/><file name="mysql4-upgrade-1.4.0.0.21-1.4.0.0.22.php" hash="bcf38c56ad3adb48a39de63d4d5a9743"/><file name="mysql4-upgrade-1.4.0.0.22-1.4.0.0.23.php" hash="235f71a24ea39c231e98db12a42b61b2"/><file name="mysql4-upgrade-1.4.0.0.23-1.4.0.0.24.php" hash="331fa853150d1ffa8c516d212aa2f8ad"/><file name="mysql4-upgrade-1.4.0.0.24-1.4.0.0.25.php" hash="82812309ff548852b02f1ed3e237fa88"/><file name="mysql4-upgrade-1.4.0.0.25-1.4.0.0.26.php" hash="b05811676a5dce07cef80ef120e8d81e"/><file name="mysql4-upgrade-1.4.0.0.26-1.4.0.0.27.php" hash="319cb1b721425218dfdbb8e6b35d2696"/><file name="mysql4-upgrade-1.4.0.0.27-1.4.0.0.28.php" hash="b05b195b2f019e9809ae5f632a290716"/><file name="mysql4-upgrade-1.4.0.0.28-1.4.0.0.29.php" hash="9dd311b7b21faa2ea4d51255ba418b4a"/><file name="mysql4-upgrade-1.4.0.0.3-1.4.0.0.4.php" hash="cbe028d3212877dd34d99d5dcebc6b5a"/><file name="mysql4-upgrade-1.4.0.0.30-1.4.0.0.31.php" hash="6467bf0816d5824368b73f14881a9594"/><file name="mysql4-upgrade-1.4.0.0.31-1.4.0.0.32.php" hash="63d31a684aae6f3685de3bdba5fa8382"/><file name="mysql4-upgrade-1.4.0.0.32-1.4.0.0.33.php" hash="e10a90a8b43ed815b753039927d987b6"/><file name="mysql4-upgrade-1.4.0.0.33-1.4.0.0.34.php" hash="6ff59cc05f2ba9cbaac47771bcf22ea3"/><file name="mysql4-upgrade-1.4.0.0.34-1.4.0.0.35.php" hash="2437bcdce44398b9ed73ed1e3decba40"/><file name="mysql4-upgrade-1.4.0.0.35-1.4.0.0.36.php" hash="68e92c8f846da8d06a49c7fa80d3262b"/><file name="mysql4-upgrade-1.4.0.0.36-1.4.0.0.37.php" hash="a52db42ba61e1621f7843566633367f3"/><file name="mysql4-upgrade-1.4.0.0.37-1.4.0.0.38.php" hash="c922e3c1000cf84cda132c340578b35b"/><file name="mysql4-upgrade-1.4.0.0.38-1.4.0.0.39.php" hash="346f6a122b15b7f1ac8e8a2f25a5f748"/><file name="mysql4-upgrade-1.4.0.0.39-1.4.0.0.40.php" hash="a1d2f7e1b745850087b5e23a19ced0c1"/><file name="mysql4-upgrade-1.4.0.0.4-1.4.0.0.5.php" hash="863fcd3a4d5f0d7f5a589d89e08291a5"/><file name="mysql4-upgrade-1.4.0.0.40-1.4.0.0.41.php" hash="e9b96de3dab54f6eb5b44ed1a6796dc5"/><file name="mysql4-upgrade-1.4.0.0.41-1.4.0.0.42.php" hash="75eefbda635369ec825856c3111419ac"/><file name="mysql4-upgrade-1.4.0.0.43-1.4.0.0.44.php" hash="44955c234a43e88720d98e69bed21d66"/><file name="mysql4-upgrade-1.4.0.0.5-1.4.0.0.6.php" hash="2b2d2223ab82953f2d561cecfc0565f4"/><file name="mysql4-upgrade-1.4.0.0.6-1.4.0.0.7.php" hash="e3a56b28711daac89ba7f7f0a0f1c236"/><file name="mysql4-upgrade-1.4.0.0.7-1.4.0.0.8.php" hash="20ec846642be63a3c0185211f45a4683"/><file name="mysql4-upgrade-1.4.0.0.8-1.4.0.0.9.php" hash="de70d7d3fb9ac7702845c5486f251a7e"/><file name="mysql4-upgrade-1.4.0.0.9-1.4.0.0.10.php" hash="d020d258926fad12d51577fb92238711"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="e9d8993129029d6ce440139fe76d2ae3"/><file name="mysql4-upgrade-1.6.0.0.8-1.6.0.0.9.php" hash="0e7307795fa7b2020f3e7d7068664395"/><file name="upgrade-1.6.0.0-1.6.0.0.1.php" hash="018fc237065f4d0f3d467f40b6337eb3"/><file name="upgrade-1.6.0.0.1-1.6.0.0.2.php" hash="ae66a75fdc23f3b148a98ff5f7189e75"/><file name="upgrade-1.6.0.0.10-1.6.0.0.11.php" hash="f4c233432fc57f2dad363dfa899eebe1"/><file name="upgrade-1.6.0.0.11-1.6.0.0.12.php" hash="38c8277fa9982c564b395248794a0fcf"/><file name="upgrade-1.6.0.0.14-1.6.0.0.15.php" hash="9d146cf31e038d66f1a6fbe754db7c8f"/><file name="upgrade-1.6.0.0.15-1.6.0.0.18.php" hash="57dc7ac4fdfb98a730fd06a8c52fb59e"/><file name="upgrade-1.6.0.0.18-1.6.0.0.19.php" hash="21c046f401d22b516e1a770e5b1e236f"/><file name="upgrade-1.6.0.0.19.1.1-1.6.0.0.19.1.2.php" hash="c7ac3babd810049a182c93b938467a2a"/><file name="upgrade-1.6.0.0.2-1.6.0.0.3.php" hash="756234b5c7485325e34e07d0ceb575b6"/><file name="upgrade-1.6.0.0.3-1.6.0.0.4.php" hash="d8db9fed9a6b4c3fb944f7fc2cde147e"/><file name="upgrade-1.6.0.0.4-1.6.0.0.5.php" hash="8beffe03092e948fad66fc023a34ab6e"/><file name="upgrade-1.6.0.0.5-1.6.0.0.6.php" hash="bc7b55027d59403cb325f1f79be7ec95"/><file name="upgrade-1.6.0.0.6-1.6.0.0.7.php" hash="74cdd027eb485ce7a38e5910f90c3833"/><file name="upgrade-1.6.0.0.7-1.6.0.0.8.php" hash="88c429ccc6589bc338a8f7459f0560d2"/><file name="upgrade-1.6.0.0.9-1.6.0.0.10.php" hash="3afc43cd784b7397da0318b7dd60c314"/></dir></dir></dir><dir name="CatalogIndex"><dir name="Model"><file name="Aggregation.php" hash="d8446e11e4e245b251f88cfd4da269b7"/><file name="Attribute.php" hash="e6216e285d12b7b51b0dff0d81747fca"/><dir name="Catalog"><dir name="Index"><file name="Flag.php" hash="e1eb655da746408366e7a977d28f6209"/><dir name="Kill"><file name="Flag.php" hash="1d37bd5c967979aa21bc99d6bc9f7154"/></dir></dir></dir><dir name="Data"><file name="Abstract.php" hash="d9f91599be307f824b17ba55a03777c3"/><file name="Configurable.php" hash="c98b4e4546bbf5af9cdec5bf4d32779c"/><file name="Grouped.php" hash="8964208ac3299ed7a0e918a1ad282c4d"/><file name="Simple.php" hash="966919e26852450fde971814d9267314"/><file name="Virtual.php" hash="34c4e295e18d47a3f0c84000c7cf37b7"/></dir><dir name="Indexer"><file name="Abstract.php" hash="163c7eb1f9d54cf54919c301a50d08bc"/><file name="Eav.php" hash="5f2d4772baae0ae42a3e963e9e6d1398"/><file name="Interface.php" hash="1701436dc2c161fc778c18135dad5579"/><file name="Minimalprice.php" hash="eb3b85b428e99ed84ff4226ce6430c00"/><file name="Price.php" hash="96f194a17250f6bf3c9737f5eb5b82f4"/><file name="Tierprice.php" hash="1765d4fed0a73ae74e756ac5f853aeaf"/></dir><file name="Indexer.php" hash="42484b0ee84d41b72aadad7334fda63b"/><dir name="Mysql4"><file name="Abstract.php" hash="8d7b96a754563d987b35f54ba1807457"/><file name="Aggregation.php" hash="82843ec810859f175730e7ca27225fca"/><file name="Attribute.php" hash="7e23d064ce0f6e24501c97cacd21adaa"/><dir name="Data"><file name="Abstract.php" hash="c869b2447587f487d821e953cde65236"/><file name="Configurable.php" hash="d841008e1a838053533d6a02ca3db950"/><file name="Grouped.php" hash="9765ee55da8451f5d76796eeb996f5d4"/></dir><dir name="Indexer"><file name="Abstract.php" hash="2e9a20aae085d294fbbccd65b34aee6f"/><file name="Eav.php" hash="a91a531718dd714f86f5819b8a4c3f22"/><file name="Minimalprice.php" hash="139a035f3cd6627a4b622471fa6bf6aa"/><file name="Price.php" hash="7d118cd7699496534a6318140f213256"/></dir><file name="Indexer.php" hash="aaa9010ef33d1e3b6e3babe05404a0e8"/><file name="Price.php" hash="5b01f7a082382b399f8cc02fc5f8637a"/><file name="Retreiver.php" hash="a8d0312325f1fcb397f1a816786cae9a"/><file name="Setup.php" hash="7c74778b63f245643a02b3133532fa0a"/></dir><file name="Observer.php" hash="4c4839c5c6289e4a68a4e68055d0fc39"/><file name="Price.php" hash="3cede2cadd925a804f5ab4533a0aedb6"/><dir name="Resource"><file name="Abstract.php" hash="6d28df0cb41449e78938675c2177ea5b"/><file name="Aggregation.php" hash="357e91b7049334de0d0e2242c40d6af5"/><file name="Attribute.php" hash="1c6e6fcd593b3982206ee870740b6632"/><dir name="Data"><file name="Abstract.php" hash="44d9ff50977584d81e3732a6bfca8c66"/><file name="Configurable.php" hash="33c11796275c59a0ccb21475d5fca796"/><file name="Grouped.php" hash="aee13957e362b6b29da1e130a0c9183e"/></dir><dir name="Indexer"><file name="Abstract.php" hash="77bd665e3220fba4e8874a2c9415f0f4"/><file name="Eav.php" hash="eeb4d41a3b496b7fa452aa7a88eb219f"/><file name="Minimalprice.php" hash="9e4e2c07140ee094c03dcf870fc7a8af"/><file name="Price.php" hash="b80a57584e61871ff1796c752f78110f"/></dir><file name="Indexer.php" hash="62590ce725754ad991a4b13b7631d100"/><file name="Price.php" hash="463262c0563bfbc9b4b12931edd38940"/><file name="Retreiver.php" hash="105b6e091067d5ad5ffbba34ec6de9e8"/><file name="Setup.php" hash="1e75b2e97a20aab6b916d800595a1423"/></dir><file name="Retreiver.php" hash="b0bad24bf9db93ad36c6a3f12cd6912e"/></dir><dir name="etc"><file name="config.xml" hash="a53aa3f175d09e5ec6364d19c0a41b05"/></dir><dir name="sql"><dir name="catalogindex_setup"><file name="install-1.6.0.0.php" hash="0301fb68116b2e5c6e57829c85770221"/><file name="mysql4-install-0.7.0.php" hash="ef60e25208b1c1c69f7760f788608866"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="edb518ac2880e64a3d1196fcca5c5408"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="5b08f13eecdbb190392bb1079ea992fa"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="79a5d99838ab289d59644b628479549d"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="86691781b4c72f2e3c009dbb219449d7"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="e0bbb2cf8699048f0dd4f11e26ee5b6f"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="ba2a3bf8d66332e75bda38855c520895"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="ce4b36e3b2e090fed799fcd96c1f3b4b"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="e9fb63a6f1712e39622423875a731f80"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="9cb3838b1c74e3ebb09bd1275d598d32"/><file name="mysql4-upgrade-0.7.9-0.7.10.php" hash="e49c1677360cdb321d1dc5fab9507457"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="c9a23a1358aa13ee28bfadf65ca8d70a"/></dir></dir></dir><dir name="CatalogInventory"><dir name="Block"><dir name="Adminhtml"><dir name="Form"><dir name="Field"><file name="Customergroup.php" hash="163d3b06c6d929bcbb5aa7bcc37dd3b0"/><file name="Minsaleqty.php" hash="a1253bfe158b1c145657c13d7f530c52"/></dir></dir></dir><file name="Qtyincrements.php" hash="0b959b5a8399ff56452d30bf872c1af5"/><dir name="Stockqty"><file name="Abstract.php" hash="634f12287ffad43305214d5425338a79"/><file name="Composite.php" hash="39a929bff736748e49c8762cef926fae"/><file name="Default.php" hash="2b9c5f6a616b4d46ee15d5665b2c1012"/><dir name="Type"><file name="Configurable.php" hash="22930288268d14c881af4b0e228f5a77"/><file name="Grouped.php" hash="299fcfde251b737162a76c738b709af3"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="533b21d642ec4d0da92a493a52a9fcdf"/><file name="Minsaleqty.php" hash="252c7dc08342b1b576cd15adf6896cc3"/></dir><dir name="Model"><dir name="Api2"><dir name="Stock"><dir name="Item"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="c84e4ed181f22fa7b7af3c76ed05b18f"/></dir></dir><file name="Rest.php" hash="e270aadfdfe27e36ce10ce652df5cd5f"/><dir name="Validator"><file name="Item.php" hash="b9d1b5db0d174bf229f6481140eccf61"/></dir></dir><file name="Item.php" hash="b1e6789de22bc81cd8c9e5d418f6e417"/></dir></dir><dir name="Indexer"><file name="Stock.php" hash="86bb76e8c6e4eed87e48a7f1d5969118"/></dir><dir name="Mysql4"><dir name="Indexer"><dir name="Stock"><file name="Configurable.php" hash="c575d00d8ec9f9a02fd2fc91f093e862"/><file name="Default.php" hash="71fef27bb3953dab13046778d6cc85cb"/><file name="Grouped.php" hash="681655f42e1abf8a5e4c65bcd51b9632"/><file name="Interface.php" hash="6f8454915dcd8d4c0aa8098ac47d3149"/></dir><file name="Stock.php" hash="aa87f7c0f015fe5348afbf63d8b64307"/></dir><dir name="Stock"><dir name="Item"><file name="Collection.php" hash="d89055e9f449549be221f5e68157f53b"/></dir><file name="Item.php" hash="0095d1ccf8329fb63a3506ae6a2edb28"/><file name="Status.php" hash="dbfb58bd7d8ae6a805d15ea4520740fc"/></dir><file name="Stock.php" hash="b92334f297141b9295798bc2e4608675"/></dir><file name="Observer.php" hash="a9736bb37585a8c1af46560e92c51db7"/><dir name="Resource"><dir name="Indexer"><dir name="Stock"><file name="Configurable.php" hash="cc79a58c240df2dea5a7876596f4fa98"/><file name="Default.php" hash="dd5890df9d9d4dec9eaa9a22311cf636"/><file name="Grouped.php" hash="645cece573ebe2ae8c9a5b44a5d5875a"/><file name="Interface.php" hash="935fe279b249565fe7fc209bed740516"/></dir><file name="Stock.php" hash="47cac76c6e244d2f76686813fb8bc00a"/></dir><dir name="Stock"><dir name="Item"><file name="Collection.php" hash="9dd080a07edee641c784c898b5295238"/></dir><file name="Item.php" hash="a2064ba40b20174a12164cc36d3bd33d"/><file name="Status.php" hash="ad92e42f445a27ff103eb6f1b8fb63f3"/></dir><file name="Stock.php" hash="ad4cbd3e0236e529cd80a11de1b7a53a"/></dir><dir name="Source"><file name="Backorders.php" hash="7f08d25b4803c2b5b85e29e5af359c37"/><file name="Stock.php" hash="b9450ed75a0d1be3c4daeea22202a455"/></dir><dir name="Stock"><dir name="Item"><dir name="Api"><file name="V2.php" hash="783c76e4aed5a72e67a7de070185b741"/></dir><file name="Api.php" hash="e39eb5620e1f577cb51e9feae480c035"/></dir><file name="Item.php" hash="a637868daa9bb8faa2ee33ecb0112659"/><file name="Status.php" hash="20fbca52b8afa08194b67aa6b2c16c44"/></dir><file name="Stock.php" hash="d6185257041d13f6b566d6601b49edb2"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Minqty.php" hash="00aa4d4dba81277cb07a21de73133759"/><file name="Minsaleqty.php" hash="a29d77d011b419a9786b1d7f17ede6af"/><file name="Qtyincrements.php" hash="5663f823ca9993f8995a70d6a909d88e"/></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="ec7bc5e2292512488a4248e8dbd1631e"/><file name="api.xml" hash="b037c38c8dfc663cbf6e1c1353e5d252"/><file name="api2.xml" hash="f983c350e9c44229e4fc4d41ce294d91"/><file name="config.xml" hash="79dd5f14b3d64fb65f20d5f3e3309a12"/><file name="system.xml" hash="d962c914c34134200d08f18d87d2fb00"/><file name="wsdl.xml" hash="cfad5924eb32b8fb7ccf79309e5966df"/><file name="wsi.xml" hash="ec7bdd8cb2bc5dd12c0a4d865fe3d313"/></dir><dir name="sql"><dir name="cataloginventory_setup"><file name="install-1.6.0.0.php" hash="186d243fdf3189b96caf9fbdc80aee6c"/><file name="mysql4-install-0.7.0.php" hash="75e2c895e6dfbad69c600f865db6cff4"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="6f0d39d6f4fe87c167fd43b5a39de2d9"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="7e6fcee3d6aeb8bed8be763687cdb8ba"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="04f921c7375bfb01a658b349c31537fd"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="e0e7a7ccefc05896c771fd99f780f708"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="5565cd4be6aead2b0932872f0eb55340"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="be17870a38cf723722f6f99b5bb68c18"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="17a69f148b233711d0c94537352837f1"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="243f5fc0eb15dec1d62992f4c7c7d56d"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="281755ca835ad1ee976f5118076bc94d"/><file name="mysql4-upgrade-1.6.0.0-1.6.0.0.1.php" hash="bfd977798f6118c5368b614c9c5c7795"/><file name="upgrade-1.6.0.0.1-1.6.0.0.2.php" hash="53308b12950c985fa05c7bbf9d49e12c"/></dir></dir></dir><dir name="CatalogRule"><dir name="Helper"><file name="Data.php" hash="560016778ef760247cb7d3b1caabb70f"/></dir><dir name="Model"><dir name="Action"><dir name="Index"><dir name="Refresh"><file name="Row.php" hash="b3d2f0876cfc7c3dc88cf084aa011f8c"/></dir><file name="Refresh.php" hash="330831a22e1f5b94ab64d0647be6698c"/></dir></dir><file name="Flag.php" hash="7903d33b2f3b537f31def82ab02ea752"/><dir name="Mysql4"><dir name="Rule"><file name="Collection.php" hash="1c7ef5836a12d91c7b6cd1596a5c0c9d"/><dir name="Product"><dir name="Price"><file name="Collection.php" hash="4745a3b75d783c2ce549f8c66880f1b0"/></dir><file name="Price.php" hash="659daee66e70387f6ec6ad1c2782a9af"/></dir></dir><file name="Rule.php" hash="a2252e99ac1beaa96c558788d7541dca"/></dir><file name="Observer.php" hash="cc5c3ee1e4dfcff8e656b4c4f7df9713"/><dir name="Resource"><dir name="Rule"><file name="Collection.php" hash="b90b0ab93e58b0d99ba8a1d611a69b34"/><dir name="Product"><dir name="Price"><file name="Collection.php" hash="b05d4de6ec29c21af930a60b6b30b111"/></dir><file name="Price.php" hash="52dbe3cbb55103fcc8b1673ad0e29d5c"/></dir></dir><file name="Rule.php" hash="d4e895a2ed2e80408a4dadc95985eff2"/></dir><dir name="Rule"><dir name="Action"><file name="Collection.php" hash="cbefca5d6a981c7aa1d79431da1a1006"/><file name="Product.php" hash="1ef05545bae581adff21dea5eef7436c"/></dir><dir name="Condition"><file name="Combine.php" hash="d476c6954ab95cb3ebd80aff66eabb83"/><file name="Product.php" hash="22634d4e9c59ea7d4da5ac793e79c2e8"/></dir><dir name="Product"><file name="Price.php" hash="866097a5efe4d81c1bca28d1fce9973b"/></dir></dir><file name="Rule.php" hash="e3cd573194b1bcefbcd8d41b1ed07fa2"/></dir><dir name="etc"><file name="adminhtml.xml" hash="093d6f0890d18e7d864a9635fa08e26d"/><file name="config.xml" hash="93a7c143800b9a7f3ae090a0a97ce8bb"/></dir><dir name="sql"><dir name="catalogrule_setup"><file name="install-1.6.0.0.php" hash="f267d851d396f216b2ed0a73a177c717"/><file name="mysql4-install-0.7.0.php" hash="a2de42b77075ec0b403630b1a93e95f7"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="0fb948870f4792fd810bf6982237a0f7"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="9a60dc6338554003d882475a411f24ba"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="900eebf1d56e35c1ec6fe8b169ff71ab"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="c935d33a43baf1b58075fcd2fa9c8667"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="94818b4c3f6694c3fea522fa7071129a"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="b97239fccace41b55ae0b01d0334f07e"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="cd83d4f6daea4ea53974f39fc2603bf0"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="72612964477cbfdeacaa95a8bc7ace43"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="09a0d5a3d5c97841401bad35a7b34d05"/><file name="mysql4-upgrade-0.7.9-0.7.10.php" hash="5ada9f5e099cbbd1f03393f46d2ca6b7"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="4e50dfe5c65040c848b49001884ff11f"/><file name="upgrade-1.6.0.0-1.6.0.1.php" hash="6e81e9960d6c8d22bfbdd8642bc41da8"/><file name="upgrade-1.6.0.1-1.6.0.2.php" hash="d87e4ab753b65806b9cd8b3231abf543"/><file name="upgrade-1.6.0.2-1.6.0.3.php" hash="363f01664e7f1b960920a03a67be5037"/></dir></dir></dir><dir name="CatalogSearch"><dir name="Block"><dir name="Advanced"><file name="Form.php" hash="e73320b5f9aa1db5d6dd535cd5a51c77"/><file name="Result.php" hash="158d8c4234b2b24f5bce04f068878997"/></dir><file name="Autocomplete.php" hash="40a423ace61e14fb7e928aa1c18dbb74"/><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="686db1fc07ef2ff608bc1982b43359a3"/></dir></dir><file name="Layer.php" hash="8c4c35b064430d739f6d0d4a216f2b14"/><file name="Result.php" hash="e2767174a41982becba4446853a38d6c"/><file name="Term.php" hash="f02a1a1991d2837d54ee71c632e641a7"/></dir><dir name="Helper"><file name="Data.php" hash="16b83aedc3e508276e90b116a5ef0610"/></dir><dir name="Model"><file name="Advanced.php" hash="673206deb25181e532fa901a3cfdd5ea"/><dir name="Fulltext"><file name="Observer.php" hash="d98bcfbda298c86a256b0039c88463ca"/></dir><file name="Fulltext.php" hash="f45fac39b3af844c0ad489cc31fd36c5"/><dir name="Indexer"><file name="Fulltext.php" hash="fdb752b9e4a49a9a06022f7cd943846d"/></dir><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="70ca3a299e5a79880ae1e67593f207eb"/></dir></dir><file name="Layer.php" hash="9b58138cc29407e8df0bbeed10991657"/><dir name="Mysql4"><dir name="Advanced"><file name="Collection.php" hash="4e13897ad78aadf7dd362b68f57449e7"/></dir><file name="Advanced.php" hash="852588dba6d4f9e68b7ccd72ed22efd7"/><dir name="Fulltext"><file name="Collection.php" hash="cdf89df38a26752fb99ad76f1889266d"/><file name="Engine.php" hash="c4268d353f9345fa90659ada21e85120"/></dir><file name="Fulltext.php" hash="dc7b4be01985a3a6be2641549777ba7d"/><dir name="Indexer"><file name="Fulltext.php" hash="4bf43c11bd0a0691220b6f435927b394"/></dir><dir name="Query"><file name="Collection.php" hash="446ad51d56c11f26debb0b2452f3b412"/></dir><file name="Query.php" hash="13604101b9dee37fe489630cec0a8887"/><dir name="Search"><file name="Collection.php" hash="de4b4bb9646a0a2b8185d4ad7d8612d4"/></dir></dir><file name="Query.php" hash="da8170ea36c99b6fe69cadee58ff624c"/><dir name="Resource"><dir name="Advanced"><file name="Collection.php" hash="a31a945c32e467b20a94fcb4cbe0a902"/></dir><file name="Advanced.php" hash="a99cd6a002c704a5de40be954bee02bf"/><dir name="Fulltext"><file name="Collection.php" hash="2b65992d28d7048b208795e07e7de8ba"/><file name="Engine.php" hash="c82ac50d4a4c7dd5cca266611d5bb32b"/></dir><file name="Fulltext.php" hash="4c4aa37aebfe5d8254d7b484eeaf01fa"/><dir name="Helper"><file name="Mysql4.php" hash="1826bcae20cf6f941b03cb999c6302d7"/></dir><dir name="Indexer"><file name="Fulltext.php" hash="f2f34a970c04267593442eac45fabed1"/></dir><dir name="Query"><file name="Collection.php" hash="9e49419777202fb6732dd4e76d80ca83"/></dir><file name="Query.php" hash="a62f0dac4012d29dcd4a4aa0c107eebd"/><dir name="Search"><file name="Collection.php" hash="72a2af0b587772e944547732ec6c46ec"/></dir></dir><file name="Session.php" hash="74ee378fc7dd0cf7c17637b1a876e733"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Sitemap.php" hash="28eafe560f68a8bd2cf7ae5ed82abd35"/></dir></dir></dir></dir><dir name="controllers"><file name="AdvancedController.php" hash="f58f4832cf837a644aff27d3e9831d82"/><file name="AjaxController.php" hash="c512ebd4bd8ab2f0ad0a2d18f068de21"/><file name="ResultController.php" hash="6199d499b4d9040b3beda927f07248c8"/><file name="TermController.php" hash="3ff5982242c57a7f4ae02ce2cd28b7f0"/></dir><dir name="etc"><file name="adminhtml.xml" hash="666740063c81d96ab024d95108e0eb1b"/><file name="config.xml" hash="071d829deff261b3899f8506a20da0d7"/><file name="system.xml" hash="7e133c61e5dac5dfaf765f29e429bc78"/></dir><dir name="sql"><dir name="catalogsearch_setup"><file name="install-1.6.0.0.php" hash="685d4b125a8c0156af263540c0662aa6"/><file name="mysql4-install-0.7.0.php" hash="b692090952faab6b90b0013012a67a5a"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="fcfb5aa7d2be0d3619fb1273db0bc0fa"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="78f25300474601a56ccae20b2899228a"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="6375fb28c6357cf9d9fa92d92801cd4e"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="85b4b27b90be56dff302e49b9038d419"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="80d97a392fd15c328d6e929428bfe677"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="435822849781f094803c02ded421fe8a"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="20c3c617d661d1bf8a421594a6b3981a"/><file name="upgrade-1.6.0.0-1.8.2.0.php" hash="e9e7f420007c062e4c4536cf49205104"/></dir></dir></dir><dir name="Checkout"><dir name="Block"><file name="Agreements.php" hash="8d56692ecac1020f66f55d778263faff"/><dir name="Cart"><file name="Abstract.php" hash="f9ec040f942e590fdfc265813fd9fd1d"/><file name="Coupon.php" hash="511ace3d8e590ab1d3801d4da74e142c"/><file name="Crosssell.php" hash="862405f0b1554945cf9d249e33f0aaf6"/><dir name="Item"><file name="Configure.php" hash="278e92e905c3100630c48e875aa0466d"/><dir name="Renderer"><file name="Configurable.php" hash="87f290557da9375aa29539bbe00928d2"/><file name="Grouped.php" hash="0bf0e8c6a45b426435a63eb499029599"/></dir><file name="Renderer.php" hash="483f7b9973a1a2e5ec1cd4b380e1c773"/></dir><file name="Minicart.php" hash="2357ea9c0d495c8c608b36d67f8d864d"/><file name="Shipping.php" hash="1d480d34a3aa3829e7a17ec5d66a0100"/><file name="Sidebar.php" hash="479be1a791631077e4848911a2fe9816"/><file name="Totals.php" hash="643a06ca086b06a732004f073688eb35"/></dir><file name="Cart.php" hash="7ffacdd2422f769df682c83156aab966"/><file name="Links.php" hash="3ea4b4fd3a0c040d55c258e2b9c23102"/><dir name="Multishipping"><file name="Abstract.php" hash="b0a1ea630d0c18369dadc359446bb1e1"/><dir name="Address"><file name="Select.php" hash="0b7c8184050f87a58b1e2eb5a82f4dc9"/></dir><file name="Addresses.php" hash="f64e18dd22554cae891a9181e02abed0"/><dir name="Billing"><file name="Items.php" hash="75dbdfc33982acd44dc344b0b23626f5"/></dir><file name="Billing.php" hash="78b56757554c4e521e610376d975648d"/><file name="Link.php" hash="2a19d42e946334b65b12ce78a24ae31f"/><file name="Overview.php" hash="9bc38e98f85764d58ba8292aed5335c6"/><dir name="Payment"><file name="Info.php" hash="a670440634774b806310ea1a251ea034"/></dir><file name="Shipping.php" hash="3f1832bfc1c91d15d4491c4b8fed4ba4"/><file name="State.php" hash="0ec043c400c0ef3640c4946d85277a82"/><file name="Success.php" hash="d869c536a16ec9386b7dfca8eb94ab19"/></dir><dir name="Onepage"><file name="Abstract.php" hash="bcfa18c091ad1413c3398067b7919d66"/><file name="Billing.php" hash="edaae580ab1c058260cd2919bbbd86b5"/><file name="Failure.php" hash="56bf05b27fbf60186f6967e47726c78c"/><file name="Link.php" hash="3273d959fbb7923af96284a736d6fcca"/><file name="Login.php" hash="260a20603dd06f5f0be399db86464f3f"/><dir name="Payment"><file name="Info.php" hash="d165a359b5da76e98f30c8031a12d0a9"/><file name="Methods.php" hash="8f17730b97a36e5d20542afe940146e8"/></dir><file name="Payment.php" hash="0ad11208d8bcf7523aa4690846fa3b1f"/><file name="Progress.php" hash="fe224885dc3f53b82d7faa8c77b2a2dd"/><dir name="Review"><file name="Info.php" hash="6f9552265170840423bddf029c15def5"/></dir><file name="Review.php" hash="6f3b70cd1870a4349af5e78a29ca554b"/><dir name="Shipping"><dir name="Method"><file name="Additional.php" hash="9406f7ac92241d223906b3fa12531a82"/><file name="Available.php" hash="429a98e91babb72ae1eb1d5b03ce28e8"/></dir><file name="Method.php" hash="33542a802205b6e0aecfa7064dd396e5"/></dir><file name="Shipping.php" hash="1f9301b61fe67ab39e6e2d5462ab1b41"/><file name="Success.php" hash="44abaf732daf677bd272fda41c8e83b0"/></dir><file name="Onepage.php" hash="975f6c5d38ee23b49a336baaf90ec759"/><file name="Success.php" hash="e1bdcc4ff63a008a52416e7dcd9f20b7"/><dir name="Total"><file name="Default.php" hash="f72876020eb1e469d32a2439a9335608"/><file name="Nominal.php" hash="4675f9491a2608573a67371428db578d"/><file name="Tax.php" hash="5dc3bd46f6a148f409a7731ce1a5af84"/></dir></dir><dir name="Controller"><file name="Action.php" hash="43c24f20c6930bc9b9227eeb2dc057de"/></dir><file name="Exception.php" hash="4bffd7231c2d9380b18fc9f44ea62e07"/><dir name="Helper"><file name="Cart.php" hash="17e59a7184d8a7cb99b900984736e197"/><file name="Data.php" hash="51217ce0f916f303606743f5f3b8c98d"/><file name="Url.php" hash="9676658d942ddb56c34c76bb48705570"/></dir><dir name="Model"><file name="Agreement.php" hash="5ea689d86468a3e9bfe38d26274548a1"/><dir name="Api"><dir name="Resource"><file name="Customer.php" hash="fd4f5a72d3450a84bf635fea8d4bfa90"/><file name="Product.php" hash="0b62cd2b7405e808aadfc1b94d3a4f9a"/></dir><file name="Resource.php" hash="f70d9833d06848322aa3199ddf6aaff9"/></dir><dir name="Cart"><dir name="Api"><file name="V2.php" hash="8e565977022bad3538d555b4143600ce"/></dir><file name="Api.php" hash="4f3cd847a5e5ec831cf5a91875da1fe8"/><dir name="Coupon"><dir name="Api"><file name="V2.php" hash="300d9073ae574bf1a59c8a49405ccb54"/></dir><file name="Api.php" hash="3d79972a820b8e118eaaeb55fe71df84"/></dir><dir name="Customer"><dir name="Api"><file name="V2.php" hash="37e2cde05368b1825ae543663c98c64b"/></dir><file name="Api.php" hash="e148b69dbf2338fe2ca192de81af2615"/></dir><file name="Interface.php" hash="b12492224b276a8af17c00aa7dd22d3b"/><dir name="Payment"><dir name="Api"><file name="V2.php" hash="0a212d789a1bedf703f930b16873050c"/></dir><file name="Api.php" hash="400fbc37a9bbde155bbec0f92feeabd6"/></dir><dir name="Product"><dir name="Api"><file name="V2.php" hash="72dac519831f333fe8ad4f1cc6b68822"/></dir><file name="Api.php" hash="8462145424fadbc98ecb6ba3b6b03045"/></dir><dir name="Shipping"><dir name="Api"><file name="V2.php" hash="32bd4bbb1a051851da1c7b611f228f09"/></dir><file name="Api.php" hash="2d905e80b2233b6464722d4bcbfa9a22"/></dir></dir><file name="Cart.php" hash="bb30bb3a820eaa24f4244a2d48c4ebfa"/><dir name="Config"><dir name="Source"><dir name="Cart"><file name="Summary.php" hash="08585e104eb4aed09d41c4491ff0d07b"/></dir></dir></dir><dir name="Mysql4"><dir name="Agreement"><file name="Collection.php" hash="0afca26f992a28eb4892066decbcb69b"/></dir><file name="Agreement.php" hash="792d897865a39eecbb919609a410619a"/><file name="Cart.php" hash="be6723269141b1451a4f7c86e7497300"/><file name="Setup.php" hash="c38f1ad47143d40d06a970a385a313bc"/></dir><file name="Observer.php" hash="2d31b6d1cb06767587b0a1c4cdfae1c9"/><dir name="Resource"><dir name="Agreement"><file name="Collection.php" hash="c913189410058ef96f312aa6a5d3527b"/></dir><file name="Agreement.php" hash="e0995392f16cfa42398e742a2c2abced"/><file name="Cart.php" hash="c78518be163aa4f0ab31e61c7f5e0e19"/><file name="Setup.php" hash="081ca5d71ba089d5d605f3186d423313"/></dir><file name="Session.php" hash="f8abf097841c62f56529f482a406296b"/><dir name="Type"><file name="Abstract.php" hash="fc48b701ceebbf0d057cc8d158827fac"/><dir name="Multishipping"><file name="State.php" hash="6d7e4f36bf9477d11f9a2a10cc39ccb1"/></dir><file name="Multishipping.php" hash="b3d5e822ce0e9e3cef587c0f0131e494"/><file name="Onepage.php" hash="298c8bf52aacaff01be823c70e423464"/></dir></dir><dir name="controllers"><file name="CartController.php" hash="f22877ed501b9025f70b25a4a88f05bf"/><file name="IndexController.php" hash="27765c343e0c3204259e5ac11bcad9b2"/><dir name="Multishipping"><file name="AddressController.php" hash="96de3280a8451974d109e44ffbedc311"/></dir><file name="MultishippingController.php" hash="d89dfbf2f130b832792907e62746e9c5"/><file name="OnepageController.php" hash="a34b0aeaae32a1886ba3aa2b8e730261"/></dir><dir name="etc"><file name="adminhtml.xml" hash="3a89352000cfec6bdaebcfdba1fd01d9"/><file name="api.xml" hash="c898575a004eac996f514232ec42d894"/><file name="config.xml" hash="a033a72513ee637d6c86fae693430061"/><file name="jstranslator.xml" hash="09192c5171c833110988c9929eb8dff5"/><file name="system.xml" hash="047fb91fb6234a0f324ae8f88b75bf03"/><file name="wsdl.xml" hash="9a10e25803e84713f5031a168dd0c624"/><file name="wsi.xml" hash="2567bee4ef18e1b426c700ce66c3bcb1"/></dir><dir name="sql"><dir name="checkout_setup"><file name="install-1.6.0.0.php" hash="e9845a59bd24b9ed5ce891dcbc8929fe"/><file name="mysql4-install-0.9.1.php" hash="a583303cd013f23487f913cf7489a65c"/><file name="mysql4-upgrade-0.9.0-0.9.1.php" hash="0bb20a7e58b933371b288d310e528a3b"/><file name="mysql4-upgrade-0.9.1-0.9.2.php" hash="25503ad4ffcb56651642b2519194b852"/><file name="mysql4-upgrade-0.9.2-0.9.3.php" hash="fd21901e41bfea81736ac0ca1075a1ad"/><file name="mysql4-upgrade-0.9.3-0.9.4.php" hash="d79b9cb31eb2a39f4fd51ff16908f0ef"/><file name="mysql4-upgrade-0.9.4-0.9.5.php" hash="ff007a238948d561df296dbed692cb47"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="bc84512cc6d28fff2ee3c02bf1fb2ede"/></dir></dir></dir><dir name="Cms"><dir name="Block"><file name="Block.php" hash="808cc7b98e9d5d6b9bffa3fa2fb00620"/><file name="Page.php" hash="f16549722275e6617b7e08b8c9ae6b24"/><dir name="Widget"><file name="Block.php" hash="ebe7556437cd84216b0a3dbd25b69269"/><dir name="Page"><file name="Link.php" hash="7aedc331ff5e05d58314a0650235d45c"/></dir></dir></dir><dir name="Controller"><file name="Router.php" hash="153a05f03ef48b34b18276dc18faf339"/></dir><dir name="Helper"><file name="Data.php" hash="704b0bf92e17ea9d45ad7aead5825fb8"/><file name="Page.php" hash="ef27b6592747ccbbcd19a7a32e774ffd"/><dir name="Wysiwyg"><file name="Images.php" hash="03b111bbba15da48dd2e1db3af67b944"/></dir></dir><dir name="Model"><dir name="Adminhtml"><dir name="Template"><file name="Filter.php" hash="5f12afe3c720ffb4cea6fed946135bb9"/></dir></dir><file name="Block.php" hash="d4d7b6f77300797ba3ca3d72bc58818c"/><dir name="Mysql4"><dir name="Block"><file name="Collection.php" hash="6fd2d7b274c65303976683c9255f5667"/></dir><file name="Block.php" hash="16bd676bde704194d0eb383b53d853b4"/><dir name="Page"><file name="Collection.php" hash="c34032769799df3970c4edc4ceacce8d"/><file name="Service.php" hash="1404261f5a2aedd536cc79d431348eb1"/></dir><file name="Page.php" hash="477f2eff400115e79e61ef848d129d8c"/></dir><file name="Observer.php" hash="cc521139189d28588d9434bb58e79693"/><file name="Page.php" hash="2967afd2aa4840338d22e2d0e090cc3f"/><dir name="Resource"><dir name="Block"><file name="Collection.php" hash="9a86e9526a30783ed5ded05d9f5e9f14"/></dir><file name="Block.php" hash="d641f3d6a76d9186f44dae801d8094fc"/><dir name="Page"><file name="Collection.php" hash="c6ad6050fb8c4163a438698e1bb2cd0a"/><file name="Service.php" hash="ee4af8837bfd0333f48aa9d1475eea28"/></dir><file name="Page.php" hash="af4b60e4531be743407d0f6c36f5b2dd"/></dir><dir name="Template"><file name="Filter.php" hash="ea84ea91afc7c16077e72ac41a17e7d3"/></dir><dir name="Wysiwyg"><file name="Config.php" hash="a5e8ed87851da04ef8e219cc2b4f6596"/><dir name="Images"><dir name="Storage"><file name="Collection.php" hash="3fbb9096f505cf63a7a54f7f67fa3095"/></dir><file name="Storage.php" hash="8878f38e162917697883f0cd2dab7b8e"/></dir></dir></dir><dir name="controllers"><file name="IndexController.php" hash="0e7e12bc4babef09e69e7467cb65a108"/><file name="PageController.php" hash="55524ed778a003db6067c75ded5c7516"/></dir><dir name="data"><dir name="cms_setup"><file name="data-install-1.6.0.0.php" hash="fa64f4284e2bdbda37b03a586787eadf"/><file name="data-upgrade-1.6.0.0.0-1.6.0.0.1.php" hash="b3b6fa8bef11edfc71f459e7873b6268"/><file name="data-upgrade-1.6.0.0.1-1.6.0.0.2.php" hash="2de01ad853f4243be77e6a8b6953870d"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="fe1b8ff7eebe920ed8ab2adc1eb0c7ea"/><file name="config.xml" hash="57993187979be0c04798d298a31fafd7"/><file name="system.xml" hash="df2b1f760a8f78b9f43a1ec7d05eea13"/><file name="widget.xml" hash="6c29f20e2b3267e154cba1fb4cccfb82"/></dir><dir name="sql"><dir name="cms_setup"><file name="install-1.6.0.0.php" hash="5669050d7b7e3b78e466fcd832eb66ab"/><file name="mysql4-install-0.7.0.php" hash="e7c388928acdec38b1146c1ea6482ad6"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="8199f7126a7a23e3fcd3010c212b86cb"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="2809caa9a092d89fc11e22504bb149be"/><file name="mysql4-upgrade-0.7.10-0.7.11.php" hash="e26c67326979cee3f22ead8e4a330ac2"/><file name="mysql4-upgrade-0.7.11-0.7.12.php" hash="971bb950e4533dc2fbfdb3651062bae8"/><file name="mysql4-upgrade-0.7.12-0.7.13.php" hash="ecf73f12a15a4c76b4b0c184b2815e41"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="c27a9ac81e7664b8555f369eb73c00ba"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="1d526c35029e9ccd1358bfb79ba85219"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="f7c8cad8181dce1db0ff749bb2a1f1c3"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="1a877f21e0adb5d14696f155d744cf3e"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="772f6217e2477aa7c7f6096654c08fc3"/><file name="mysql4-upgrade-0.7.9-0.7.10.php" hash="3533979da1385e39faff4bbde8179e24"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="be1f73f82e59a420e0a74401a0fca80b"/></dir></dir></dir><dir name="ConfigurableSwatches"><dir name="Block"><dir name="Catalog"><dir name="Layer"><dir name="State"><file name="Swatch.php" hash="ba2d565918d86b78d018bf2252ce107f"/></dir></dir><dir name="Media"><dir name="Js"><file name="Abstract.php" hash="65d13549eff5aed01e7de5fbd1dae86a"/><file name="List.php" hash="5d1bf59d2c66986f88516c17e578843d"/><file name="Product.php" hash="0e01cd15f0d717b0ed2db9a5c63a5d8b"/></dir></dir><dir name="Product"><dir name="View"><dir name="Type"><dir name="Configurable"><file name="Swatches.php" hash="ca8cde3ec6ecba0f802a4be0a95b2720"/></dir></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="62f9325a431cecabb0d466cf4a02f58e"/><file name="Mediafallback.php" hash="ba7c295669947104325cf6359a8c86ab"/><file name="Productimg.php" hash="7c45bc60904625048daebe1ae6ee3426"/><file name="Productlist.php" hash="485ac59635fa6338bb6047899ce210b6"/><file name="Swatchdimensions.php" hash="5d9b2d9c5cb9db5eee4b3a43d11c940d"/></dir><dir name="Model"><file name="Observer.php" hash="438c0c73fd36dc552c53415fb16d0803"/><dir name="Resource"><dir name="Catalog"><dir name="Product"><dir name="Attribute"><dir name="Super"><file name="Collection.php" hash="fc55d935904ce1398e8037af43d761c8"/></dir></dir><dir name="Type"><dir name="Configurable"><dir name="Product"><file name="Collection.php" hash="7ee76f04040a166ff09c9f49057916cf"/></dir></dir><file name="Configurable.php" hash="e240a0d73107c1a05bcd2f2c717b6305"/></dir></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Catalog"><dir name="Product"><dir name="Configattribute"><file name="Select.php" hash="c1307cb449fcfc2b28405c32ac1be385"/></dir><file name="Configattribute.php" hash="36770f92cc2f60edf324faa1f7c26f0b"/></dir></dir></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="520821e755cb0713359c9d5e41e9b793"/><file name="config.xml" hash="34c0ad0df08a9ccdbb358d7d46778cf8"/><file name="jstranslator.xml" hash="6c0bfe8d32613e25cd6e81bf40e2eb52"/><file name="system.xml" hash="8dd1540a19455c00cf2644ba74d1fa1a"/></dir></dir><dir name="Connect"><dir name="Block"><dir name="Adminhtml"><dir name="Extension"><dir name="Custom"><dir name="Edit"><file name="Form.php" hash="d789b9e5f5b5be54256d54c2067a7495"/><dir name="Tab"><file name="Abstract.php" hash="faa6ebfa9a24b2726091a7079e32b2af"/><file name="Authors.php" hash="18e44b9c37050798bc44e7bebefe6b79"/><file name="Contents.php" hash="a69e88be8f99a4dfdc42d1d8a5cfe64c"/><file name="Depends.php" hash="2f4c09428ffbafc3c976394e94a013ee"/><file name="Grid.php" hash="ff77b7a1539670805534f87ae2ef4a93"/><file name="Load.php" hash="1e51f328e913bbcb0a08feed4d1fdfc1"/><file name="Local.php" hash="2d3289cfa670c6ed650344225ad9175a"/><file name="Package.php" hash="e9d0265bb0a008a6c36cc760ceec0386"/><file name="Release.php" hash="b7f347176161922003596b1819dc0027"/></dir><file name="Tabs.php" hash="b27a5ab996909088f5d914598ffd5e22"/></dir><file name="Edit.php" hash="c7861675784fbb52b833e3dbe0f480fa"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="08cf5672c1c0b67a213ba6ace2a58107"/></dir><dir name="Model"><dir name="Extension"><file name="Collection.php" hash="8a067c24e32d6ce8ea9d8a5968a728f7"/></dir><file name="Extension.php" hash="816868c3415ddd41f45e409501f6c7dc"/><file name="Session.php" hash="5440476ad3ef3f7c3c2230ae1ab28ea8"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Extension"><file name="CustomController.php" hash="f33eead77dce7b537894d8b16226c5f2"/><file name="LocalController.php" hash="d930aaed8a7b773573b59e8bb442ddf6"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="101c7900791af6e5ee9c95da47c483f1"/><file name="config.xml" hash="fe2f20c5ab7f316d5c8148ff72008105"/></dir></dir><dir name="Contacts"><dir name="Helper"><file name="Data.php" hash="1a738165172917c879f9ac141c11b9e1"/></dir><dir name="Model"><dir name="System"><dir name="Config"><dir name="Backend"><file name="Links.php" hash="ba1b3017172093f46465a105ad2996a2"/></dir></dir></dir></dir><dir name="controllers"><file name="IndexController.php" hash="bf03d63562bb14bc90fed7f19e0b7f30"/></dir><dir name="etc"><file name="adminhtml.xml" hash="2cedca70a58666ac2347bbe3f9bdafd0"/><file name="config.xml" hash="5c00f20bddf8f55411db826d7d613921"/><file name="system.xml" hash="4de5af82897ea61d65abc342179e27f0"/></dir><dir name="sql"><dir name="contacts_setup"><file name="install-1.6.0.0.php" hash="13f3139c5258cd52688763b6b9dd99b0"/><file name="mysql4-install-0.7.1.php" hash="94a59176972576cb435ea6505e08636f"/><file name="mysql4-install-0.8.0.php" hash="894c4d3fda75ee5ff0bad394ef03ae15"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="f21132d7a6189d17610d76954ba3e6f8"/></dir></dir></dir><dir name="Core"><dir name="Block"><file name="Abstract.php" hash="cd68bf84fe2894432df500d8398930e1"/><file name="Flush.php" hash="689a5e3eb946bcb0d761dfbc1ef737d4"/><dir name="Html"><file name="Calendar.php" hash="6159aac3f3bcfbb50f6292f8426128b5"/><file name="Date.php" hash="44aa2b30529c837699f0302d3f5a129e"/><file name="Link.php" hash="c0586fbede4941f473fb0d9b4199eabb"/><file name="Select.php" hash="3a00a83d4fcc827a19050989db504111"/></dir><file name="Messages.php" hash="81e21fc3d8782d4ddb9f82847f79f78d"/><file name="Profiler.php" hash="768c063dfbf1fd40e5d1472fe3f77884"/><dir name="Store"><file name="Switcher.php" hash="81c614c6aaa95f2b016351aa60a6565c"/></dir><dir name="Template"><file name="Facade.php" hash="66b97c587f08c3312a3a7e902d012d25"/><file name="Smarty.php" hash="726d82c94a6e6aca2b2ecc3a4abb2ce2"/><file name="Zend.php" hash="62cca867dd890b50e95988c0f863861c"/></dir><file name="Template.php" hash="ed17f8e7bd43f7856b5b68f6c8665ae4"/><dir name="Text"><dir name="List"><file name="Item.php" hash="be4927dd33ac2147f6bbee57c4d9ce63"/><file name="Link.php" hash="8935c490d0b2cfea4147236707135178"/></dir><file name="List.php" hash="0415c60e89ee20a9b164303625630320"/><dir name="Tag"><dir name="Css"><file name="Admin.php" hash="bd031a45ce2d6071fcaa9d6c68c16201"/></dir><file name="Css.php" hash="871935fa964adbf99609e014e60d4ddd"/><file name="Debug.php" hash="36f5331bdcb23703d33418c423abc5ae"/><file name="Js.php" hash="659e91e2758e5e5582a42188e8671f59"/><file name="Meta.php" hash="cee17b0e3efeb8cd34c4f7f34d191789"/></dir><file name="Tag.php" hash="09b53ed3fe7f8730140f85ef49d8ba6e"/></dir><file name="Text.php" hash="5dd0190a290ba9314143284a465f3783"/></dir><dir name="Controller"><dir name="Front"><file name="Action.php" hash="0bd3f2b0428b65fec0b20d3260624a4c"/><file name="Router.php" hash="f4a1e85ed9ceff4df31de9fc3925b749"/></dir><dir name="Request"><file name="Http.php" hash="af9331e309ad5a600e37f45f456b85ea"/></dir><dir name="Response"><file name="Http.php" hash="b4e08d0cf4f3958fea43e98d23e921a3"/></dir><dir name="Varien"><file name="Action.php" hash="66156838ee7eeb45e3a5616ce2db0ea3"/><file name="Exception.php" hash="a798a1e14cf080320fd8ff1c61b7c0ce"/><file name="Front.php" hash="fa826d6cb39da808d9f2abdb6c4a3619"/><dir name="Router"><file name="Abstract.php" hash="9b7dbb6f0025291498471f3df80a1775"/><file name="Admin.php" hash="e2bfb79df9e269912795b699a2cbc57c"/><file name="Default.php" hash="4af9b582bf8c1d58a787c1b0fd814296"/><file name="Standard.php" hash="e270230e4ab92d50e975c49774ef57b2"/></dir></dir></dir><file name="Exception.php" hash="e24ff5a61dfb253617d88752d7035dae"/><dir name="Helper"><file name="Abstract.php" hash="8e71f2a30d98a6a7e9bdfa3d473679ed"/><file name="Array.php" hash="484a0a74a7f9e3c08c3a4b73f7337ac5"/><file name="Cookie.php" hash="7c6e78a4bb52f8a2e8cd72c611c3a607"/><file name="Data.php" hash="ef93ca79009474e6b8d935fdd7f03c46"/><dir name="File"><dir name="Storage"><file name="Database.php" hash="ad54c841a0cb8f9a6c85923fd70899d7"/></dir><file name="Storage.php" hash="8f02a3f236314fceb25ab16c5d47f2f6"/></dir><file name="Hint.php" hash="694fd4bbddbaacdd56bd07683802a234"/><file name="Http.php" hash="a63b38419324891ec908414714758d00"/><file name="Js.php" hash="be84944e4f41c399d10b154b8a130a81"/><file name="String.php" hash="fd32204caa683023e76554ac36f0f581"/><file name="Translate.php" hash="a6dd08880eb8f27ef543d93ea532fff2"/><file name="UnserializeArray.php" hash="d5506fe8abd8794aaa7e4ad23821bce7"/><dir name="Url"><file name="Rewrite.php" hash="97e46be2318d6a82d40e217f234663d6"/></dir><file name="Url.php" hash="9b1970fc80d30d7057b787063db3745a"/></dir><dir name="Model"><file name="Abstract.php" hash="3ebc995256ad69f924819f96e401b60f"/><dir name="App"><file name="Area.php" hash="6c814d69b0066a826869f69841e0b287"/><file name="Emulation.php" hash="218411722dbc2925f6afd70c4c493cb7"/></dir><file name="App.php" hash="c7d73ebf537565a7293a88ece6ea7613"/><file name="Cache.php" hash="00e7b0a35d49e3774f39b4c9811017da"/><file name="Calculator.php" hash="7903aee2fa175e91615c702870866b9f"/><dir name="Config"><file name="Base.php" hash="95d6606f6dc37e645b9bf5d95f860dac"/><file name="Data.php" hash="b002587f1ecdf2ddced2371c44591eb0"/><file name="Element.php" hash="070129342aea34a54ba3cc99052d4075"/><file name="Options.php" hash="a2afec98dfdde676d372aab35fc1d0b3"/><file name="System.php" hash="e44dcb546c68d06df2e58d135030a140"/></dir><file name="Config.php" hash="d1c19353abedadb15c0ee22598a59fc3"/><file name="Convert.php" hash="96387227fa5be3cff23e39a345234b75"/><file name="Cookie.php" hash="cc5c60b0a34494b472adcb4197286026"/><file name="Date.php" hash="1f7628558283dc16fc637116fc3df677"/><dir name="Design"><file name="Config.php" hash="93276cf40f2f17108cb16e6feb0fb674"/><file name="Fallback.php" hash="5484111090937874c9989a2df61a13d8"/><file name="Package.php" hash="267df9446f26ba8a64cb2c04c9f7b20d"/><dir name="Source"><file name="Apply.php" hash="232aac8a7ca16ed044f1d88d8ece4775"/><file name="Design.php" hash="b594cf0c90f77d1eab9947667024a6b3"/></dir></dir><file name="Design.php" hash="edf9897c28bb0697addc9050785b1389"/><file name="Domainpolicy.php" hash="80272f0001a2360486342d53df6a7890"/><dir name="Email"><file name="Info.php" hash="b928f262cef6543836df610a9ddb81d5"/><file name="Queue.php" hash="9e9b62cc16bd02a38cbf8412f845a761"/><dir name="Template"><file name="Abstract.php" hash="8db81c0e7c6c29983bc4fce512875a9f"/><file name="Filter.php" hash="5b30e3fd74c056d97ba00b49f3a7691b"/><file name="Mailer.php" hash="14660ee8eeee2b300b46a01392c35712"/></dir><file name="Template.php" hash="8be3176a5deba047d65b740039d969b1"/><file name="Transport.php" hash="46a8e4e2e504fc31a034f41bd05af5ca"/></dir><file name="Email.php" hash="e31ab1cef8d2dbaf9c9e02239774c039"/><file name="Encryption.php" hash="0ce4aa3ca4955465e1264a1c3564c621"/><file name="Factory.php" hash="1def8ecf557dd80c27bd8b9ae0389aa0"/><dir name="File"><dir name="Storage"><file name="Abstract.php" hash="abfc781db12a26c13039ac54b2ab08f3"/><dir name="Database"><file name="Abstract.php" hash="9558ea6318d43c989527c5c6781427d9"/></dir><file name="Database.php" hash="c8cd146d38f94cb1a34aa7ba4807e9d5"/><dir name="Directory"><file name="Database.php" hash="59a04f3cc135f69cc177d7713ee44da5"/></dir><file name="File.php" hash="33253411661b819e14dd8ffcbf68b991"/><file name="Flag.php" hash="36cd58ed02c91be1d8d6e163a6a37eaf"/></dir><file name="Storage.php" hash="29f0f2b03940992772d6d575742eac8b"/><file name="Uploader.php" hash="ac91eabcb578a50962258f0a1f684472"/><dir name="Validator"><file name="AvailablePath.php" hash="45f0f713d4280835f44ab663d1644d4c"/><file name="Image.php" hash="fed721fed352dcf04bae8d86d64c5e38"/><file name="NotProtectedExtension.php" hash="2a5bc90d074468f322ec80c5f22ff994"/></dir></dir><file name="Flag.php" hash="7dfd86cc88faaecb61270b06a8949afe"/><dir name="Input"><dir name="Filter"><file name="MaliciousCode.php" hash="63300b6d85bfb07b110f5175b2ef857d"/></dir><file name="Filter.php" hash="9a705f56a3b458781ed1d0e08eb6d9de"/></dir><file name="Language.php" hash="5553b1a3996e214ee04bb873d2e496a2"/><dir name="Layout"><file name="Data.php" hash="ad8e232f9bfbcb6a2597762a4794ef59"/><file name="Element.php" hash="f763346da15b317cee92c02f57a37292"/><file name="Update.php" hash="d6b3c449d3e49dabc4087c36d083fa55"/></dir><file name="Layout.php" hash="c3da90be498953dd5acbe07a4e68cb7c"/><dir name="Locale"><file name="Config.php" hash="f38c5dec6e40442e75cac2587838acba"/></dir><file name="Locale.php" hash="8501f332360a8052748e3b25d1db656a"/><dir name="Log"><file name="Adapter.php" hash="16e93511497b13a8e07e4d517225ed0c"/></dir><file name="Logger.php" hash="beb95c8bf5b8505b8104278d3b9958a5"/><dir name="Magento"><dir name="Api"><file name="V2.php" hash="990a2e9e5813e05c5d1add95e22148a6"/></dir><file name="Api.php" hash="6fc47bad41f25c86614e3339b6171c4b"/></dir><dir name="Message"><file name="Abstract.php" hash="0b916894d2dc70d6ce62d46921e33d37"/><file name="Collection.php" hash="344cf87be807bf3d3824af6aca2bb9e3"/><file name="Error.php" hash="403f98d2d9612549c6f6258fa10a8d17"/><file name="Notice.php" hash="5d9e6c832be4e1bef81ad8081f75bc43"/><file name="Success.php" hash="66438b0c9cff77eb73ff5ff315df52f4"/><file name="Warning.php" hash="aafb26c475337e687ff1dfeb005edcaa"/></dir><file name="Message.php" hash="85d7966c908e150ac1e8fc41244f245a"/><dir name="Mysql4"><file name="Abstract.php" hash="44d0b31e3085e15ca2b3b0f9d0be2c5c"/><file name="Cache.php" hash="535e51f36277a7df2d30b9d2d6601b3c"/><dir name="Collection"><file name="Abstract.php" hash="4a98bfc00bea6a5da2fc5bf3609e6433"/></dir><dir name="Config"><dir name="Data"><file name="Collection.php" hash="4ef79294f6f55c6c2722abfb7ed34706"/></dir><file name="Data.php" hash="f53c79280bc295051fa7b3860cfea9ae"/></dir><file name="Config.php" hash="a42970610f64863e0097a58b9e6cc23b"/><dir name="Design"><file name="Collection.php" hash="743cd2d296bb161ecc98616e57a05d12"/><dir name="Package"><file name="Collection.php" hash="b0e13eba451dcbc84e59b3c1ba879b23"/></dir><dir name="Theme"><file name="Collection.php" hash="d15267e5e6c26e9e59a9c4be4735986e"/></dir></dir><file name="Design.php" hash="eda39942885b6a2679aa1ef3f41ea025"/><dir name="Email"><dir name="Template"><file name="Collection.php" hash="4f591b6e7817ed5fe9a06d1bbf77acf6"/></dir><file name="Template.php" hash="3ff3b156f0cc0cb243a1b09b74673339"/></dir><dir name="File"><dir name="Storage"><file name="Abstract.php" hash="3922d04eb1e885ba9ee02df7cc9a6408"/><file name="Database.php" hash="c60d8d1728e449fac71590330def8f94"/><dir name="Directory"><file name="Database.php" hash="4ce089a2e5594faf2a7cb6ea88944dd1"/></dir><file name="File.php" hash="2072a576162d3e7d4b2d17dfff5c647f"/></dir></dir><file name="Flag.php" hash="a0a11d34b0b0e100b96fc11c9c975a1f"/><dir name="Language"><file name="Collection.php" hash="58144f7d71289903e929638fc4fc5f1d"/></dir><file name="Language.php" hash="aced85d1d84667357d79ebb0fb8bc3b8"/><file name="Layout.php" hash="57bc0dbe1d31bb305e4660759025901b"/><file name="Resource.php" hash="c408f0d94d0cf7c85b60b281665c7444"/><file name="Session.php" hash="2a829f916eb8f50f7a63b670ca399bf2"/><dir name="Store"><file name="Collection.php" hash="ee4457bf62e4b2e3e7614558cf2f0cb7"/><dir name="Group"><file name="Collection.php" hash="e78c87707665daf3261d0e61aa003175"/></dir><file name="Group.php" hash="2f704ed0988128cc94aa579c23b40195"/></dir><file name="Store.php" hash="b9ec990140144ae2b4ff4b1b4357a276"/><dir name="Translate"><file name="String.php" hash="2550beff52f20647c9070a521b177d81"/></dir><file name="Translate.php" hash="2bae6bc9d6d6f9b54d1e74e3ef541620"/><dir name="Url"><dir name="Rewrite"><file name="Collection.php" hash="618b2b7ac1893631af1c96381be8d6e2"/></dir><file name="Rewrite.php" hash="f0847e55d9ab40a714791c1866102915"/></dir><dir name="Variable"><file name="Collection.php" hash="8c6cf80f822398f16ddcb1f700e5b97a"/></dir><file name="Variable.php" hash="e3412c25b10a5e79c59e90f7fe817ce3"/><dir name="Website"><file name="Collection.php" hash="34999e0a76945a915346632845961062"/></dir><file name="Website.php" hash="a6457ca65b822869a2c42abab954ba12"/></dir><file name="Observer.php" hash="7a1f30833ecd016885791a9df66ba83e"/><dir name="Resource"><file name="Abstract.php" hash="694793a99cc08f415b84aa6f87d3b080"/><file name="Cache.php" hash="d421e47284b76a6d0034a55954354601"/><dir name="Config"><dir name="Data"><file name="Collection.php" hash="aa72268f5dcd2cb27a2e9583bd9a7b97"/></dir><file name="Data.php" hash="6f5b1ffa861eb1a771b650e55393b8d2"/></dir><file name="Config.php" hash="b609a605366bda0d9b77fb0b4da8f680"/><dir name="Db"><file name="Abstract.php" hash="2aa23ed3e3cfbb4f1ee504b1b080dc93"/><dir name="Collection"><file name="Abstract.php" hash="856ffddfc4b7eef7e653fc9f4ed1cc12"/></dir></dir><dir name="Design"><file name="Collection.php" hash="9eda836bfcfc20bd10d992cff0f42dee"/><dir name="Package"><file name="Collection.php" hash="71080e12d259608667ca14694fc06786"/></dir></dir><file name="Design.php" hash="ab67c437c1fb6b21e174271b5eea4795"/><dir name="Email"><dir name="Queue"><file name="Collection.php" hash="dc99090438f9d3da4eafdd6289b0e593"/></dir><file name="Queue.php" hash="e6ff94522082f76abd83abeede4350c4"/><dir name="Template"><file name="Collection.php" hash="74ff7fee4831faeabb215e745ea2c5d5"/></dir><file name="Template.php" hash="e24b6c1aa4117729b9e1fef8ce470df1"/></dir><dir name="Entity"><file name="Abstract.php" hash="fbab338c7741fac0f55ee32753eabb31"/><file name="Table.php" hash="82ccdee4411353933aa056b40219c66a"/></dir><dir name="File"><dir name="Storage"><file name="Abstract.php" hash="63f9930772d7d6218a97eba4ef2e51e5"/><file name="Database.php" hash="9f8d3d2ae031cf910550022e48e04f24"/><dir name="Directory"><file name="Database.php" hash="7fd49ee18d156fc2cb5322497f066d8e"/></dir><file name="File.php" hash="db44e3c71d0a7ed03a1f98772fee81a1"/></dir></dir><file name="Flag.php" hash="fd7d58c0720668e089e1721675309e11"/><dir name="Helper"><file name="Abstract.php" hash="7f7d5923b0d30b78b5bb09101c6fa45d"/><file name="Mysql4.php" hash="9b7abcaf9407b0cfd54878aac2dc4a71"/></dir><file name="Iterator.php" hash="87812d0f3cc7c2aa3ad880845a9d81cb"/><dir name="Language"><file name="Collection.php" hash="a94b4d950521edf293306f2ce3d1f2e3"/></dir><file name="Language.php" hash="1a8abe38849f32cf206d94908d0bb157"/><file name="Layout.php" hash="eceec3e6ab5a55a7cdbcc9ed830cd9d8"/><file name="Resource.php" hash="5dd772aa7bd15d23902ec45c73a6e757"/><file name="Session.php" hash="f6113f0ded8c6c1ac47a3d3ea30a5d05"/><dir name="Setup"><dir name="Query"><file name="Modifier.php" hash="441f79117cff4d7d6bc7e1bf3af0534d"/></dir></dir><file name="Setup.php" hash="af2e8140844cf09135c7270cb6cc57b6"/><dir name="Store"><file name="Collection.php" hash="77e38160ee990c0ef701635da0727f27"/><dir name="Group"><file name="Collection.php" hash="69ef898295bf51476f85350909a30dbb"/></dir><file name="Group.php" hash="aadd4f4301afaa93d49cb98cd6a31a27"/></dir><file name="Store.php" hash="8deab7031d5538151a02b5a7b27b4de1"/><file name="Transaction.php" hash="304008e754044346662a2763add16495"/><dir name="Translate"><file name="String.php" hash="14389d4db4ba5795ccfbe923b876fd7d"/></dir><file name="Translate.php" hash="6717d307f1747093eaea31225aa18935"/><dir name="Type"><file name="Abstract.php" hash="688b26e10a67f4484131cdf9de51557b"/><dir name="Db"><dir name="Mysqli"><file name="Setup.php" hash="8a5f3235eb45f511db2b0e14ca7bac3d"/></dir><file name="Mysqli.php" hash="6459b80b973a0944cba2619a173aa895"/><dir name="Pdo"><file name="Mysql.php" hash="747a0822bd08cb3f0b2d1526c6dfeccf"/></dir></dir><file name="Db.php" hash="b8eb52fe758a85e093f2e7694d8663ca"/></dir><dir name="Url"><dir name="Rewrite"><file name="Collection.php" hash="683f36f30c844c054f01be8ff310230e"/></dir><file name="Rewrite.php" hash="c8498de6f192598ceb876bf3787fa65f"/></dir><dir name="Variable"><file name="Collection.php" hash="b5413db4271eb3a3d0333c1406fb1058"/></dir><file name="Variable.php" hash="75b3c3b20e1bfd1a0f4017b7e64ec1ce"/><dir name="Website"><file name="Collection.php" hash="1c353c8ed5e653bf799a81896da8a645"/></dir><file name="Website.php" hash="e385a6d19f6d87c1e8c0ac0e31dbf471"/></dir><file name="Resource.php" hash="a97d261d1638b03f3a19ba7947c0f03e"/><dir name="Session"><dir name="Abstract"><file name="Varien.php" hash="a20202cd6f202a0462c31f74c8b5db38"/><file name="Zend.php" hash="48602c6c721a1419a16291602bbc6e6b"/></dir><file name="Abstract.php" hash="0fd88d73bd06001281b3f4cd3185f855"/><file name="Exception.php" hash="1419325851e05e56085a80360993ec7a"/></dir><file name="Session.php" hash="e2c1d6077d37b1fd5a648b1f7835c3e7"/><dir name="Source"><dir name="Email"><file name="Variables.php" hash="2d6e88ba25d3321a5af0d7fde74569c3"/></dir></dir><dir name="Store"><dir name="Api"><file name="V2.php" hash="23fce9936bfde4eddf3bc042da49c704"/></dir><file name="Api.php" hash="e26d51518a7bcd09ed5da2fac58b1b4f"/><file name="Exception.php" hash="59d2bd50b218ccf5f217e8f4f87db294"/><file name="Group.php" hash="685ea0a277d23ec5e17d44728deef16a"/><file name="Observer.php" hash="beed858da489fece24868586ae67624b"/></dir><file name="Store.php" hash="f895e6a4d4fc82542c471c2c276ff215"/><file name="Template.php" hash="e78ec82cbb982ce5e06e6937e8616ae0"/><dir name="Translate"><file name="Expr.php" hash="5e7825d1ad5d680fae8d2cb2e3e56a3f"/><file name="Inline.php" hash="c46e75758767785fcbf90429f3b27f7c"/><file name="String.php" hash="ff5d4c7d438f42a96481bcf50dcfe726"/></dir><file name="Translate.php" hash="40815cb1b455d9b11ee7bc5b209f7883"/><dir name="Url"><dir name="Rewrite"><file name="Interface.php" hash="9c5c19dbddac570166efa99fe23636eb"/><file name="Request.php" hash="1d981ff6255931373ab21012ef728a43"/></dir><file name="Rewrite.php" hash="65284f3fd21eab368bb60e9fcef41980"/><file name="Validator.php" hash="c701ffe374838bcc86a02daeb531716c"/></dir><file name="Url.php" hash="8d74e01ecc551a7fb4170fce4aab07d2"/><dir name="Variable"><file name="Config.php" hash="2e89c7e08f594c235ee7c54d9d8ecd04"/><file name="Observer.php" hash="abeffe7406776babb339ff8530c97bcb"/></dir><file name="Variable.php" hash="6b550791573110761a25dd7a014bd0ea"/><file name="Website.php" hash="159a68fc3084c56aa44b77214f6d22be"/></dir><dir name="controllers"><file name="AjaxController.php" hash="0fdf2d77ca172a26f52a058d9f4a7744"/><file name="IndexController.php" hash="bf938059a97c970206756db4f00c9584"/></dir><dir name="etc"><file name="api.xml" hash="6bbb100de305337ddec14d20e0cfdf70"/><file name="config.xml" hash="c00eebd00ec8985ebd797c37c375f7af"/><file name="jstranslator.xml" hash="367a1b0e9f7e7143e105f42c597eaaae"/><file name="system.xml" hash="23e5328e41753a3ea8527ceeba1bc9bf"/><file name="wsdl.xml" hash="79501d6ccf39846b5dd551e85880dcb8"/><file name="wsi.xml" hash="31fa195d527181c946019bcd44d819d6"/></dir><file name="functions.php" hash="c9a07d4104e2af4a909af41993a072cd"/><dir name="sql"><dir name="core_setup"><file name="install-1.6.0.0.php" hash="c69f3177bd988dcf47af832d0f30d867"/><file name="mysql4-data-upgrade-1.6.0.2-1.6.0.3.php" hash="fb24c3e570816db655406d337f606568"/><file name="mysql4-install-0.7.0.php" hash="d7fd9846b6460fc316c7e16c6728dedc"/><file name="mysql4-install-0.8.0.php" hash="cdee3cc30f18e8867a1a2804cdd84d03"/><file name="mysql4-upgrade-0.6.26-0.7.0.php" hash="345976f0456345f682763fac7316cc55"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="32fefbbffd4cecd44bb883383cfd9371"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="66ebb46fb35c1af148779933ef65fca8"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="c5412377ad835880e87f4732a3b6714a"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="0c21a8b350aeef94116668aca96d4ded"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="9e245ebd96215aae487df642a4244006"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="67525f1672117b14999c40df9b4ffe44"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="8aa20d72ba29c2c4c036a74f5da81354"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="60cfbe9a16cea4084149fbb60aadfe33"/><file name="mysql4-upgrade-0.8.0-0.8.1.php" hash="4b5bfe8f064af5094380fd0c6f4230b8"/><file name="mysql4-upgrade-0.8.1-0.8.2.php" hash="5e889e1e36552f97c6b47ccacc037878"/><file name="mysql4-upgrade-0.8.10-0.8.11.php" hash="e7b405393ee923ce77b4fc73fe2c49e5"/><file name="mysql4-upgrade-0.8.11-0.8.12.php" hash="e5177617bf9ff7cad413ebadbaa36c2e"/><file name="mysql4-upgrade-0.8.12-0.8.13.php" hash="58d94dcd86435d9a9678110d7380e9e6"/><file name="mysql4-upgrade-0.8.13-0.8.14.php" hash="4ef7145c13ab85b257e149ee4ce42aae"/><file name="mysql4-upgrade-0.8.14-0.8.15.php" hash="11462279aad7a312d138871c1232bc4c"/><file name="mysql4-upgrade-0.8.15-0.8.16.php" hash="b68084f2461e13da31d10ffb69b6c427"/><file name="mysql4-upgrade-0.8.16-0.8.17.php" hash="cc5a96f1ec35576e5cc04d2f3c8fcdbe"/><file name="mysql4-upgrade-0.8.17-0.8.18.php" hash="a049195d8b49c8fac0b422b55444f072"/><file name="mysql4-upgrade-0.8.18-0.8.19.php" hash="5c1e0d78fe374bc179fac4e0a201024c"/><file name="mysql4-upgrade-0.8.19-0.8.20.php" hash="57188799f2c9aa98b2db3e9cc88f57ca"/><file name="mysql4-upgrade-0.8.2-0.8.3.php" hash="5c4c948191730c5aaa46a9c0a4d529af"/><file name="mysql4-upgrade-0.8.20-0.8.21.php" hash="26306dc6458b0403f1a05bc92447af40"/><file name="mysql4-upgrade-0.8.21-0.8.22.php" hash="1375cdd7860773ed2f80282af9986008"/><file name="mysql4-upgrade-0.8.22-0.8.23.php" hash="96d94946d3d1d8471ff619228407cb7a"/><file name="mysql4-upgrade-0.8.23-0.8.24.php" hash="219d2459c587c5e8a81290c56154e0d6"/><file name="mysql4-upgrade-0.8.24-0.8.25.php" hash="6f1f9c00a382d22bcc220e1b9f3c8905"/><file name="mysql4-upgrade-0.8.25-0.8.26.php" hash="4558c5a6d9be1ca611ac9ca058e4edfb"/><file name="mysql4-upgrade-0.8.26-0.8.27.php" hash="65e15fa502932b633a0c8c828a6334bf"/><file name="mysql4-upgrade-0.8.27-0.8.28.php" hash="19590c1ee41148edfc36fc72965e402b"/><file name="mysql4-upgrade-0.8.3-0.8.4.php" hash="3cc627e59b0ceb3b3016e328c88b829e"/><file name="mysql4-upgrade-0.8.4-0.8.5.php" hash="5a829783619299f2538700da0ae1e123"/><file name="mysql4-upgrade-0.8.5-0.8.6.php" hash="3e314226e8fbaa3bcaf1694faefd8809"/><file name="mysql4-upgrade-0.8.6-0.8.7.php" hash="c2344bc955f3fb823c2926310209c25e"/><file name="mysql4-upgrade-0.8.7-0.8.8.php" hash="9b86798fe5b7fe0cb5cc595874b07501"/><file name="mysql4-upgrade-0.8.8-0.8.9.php" hash="d2bbc20b4f415a188d706abd0f67bb0d"/><file name="mysql4-upgrade-0.8.9-0.8.10.php" hash="6255b0401694107d9c3c67d0a7cb4a6f"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="91433f5df703361ded3d282200923d2d"/><file name="upgrade-1.6.0.1-1.6.0.2.php" hash="dba0fecbc83001d5c62b114522103050"/><file name="upgrade-1.6.0.2-1.6.0.3.php" hash="e043db02bb9983863f06f46dac0b78c2"/><file name="upgrade-1.6.0.3-1.6.0.4.php" hash="1be7d02e33df1abe18f3df4d76063329"/><file name="upgrade-1.6.0.5-1.6.0.6.php" hash="eb7b611019f69996f4963183636b6094"/></dir></dir></dir><dir name="Cron"><file name="Exception.php" hash="7ad70a581e997407204ecec98768cdd5"/><dir name="Helper"><file name="Data.php" hash="a977275822fc9e8de01235a624ba7cc4"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Schedule"><file name="Collection.php" hash="62f2dd629591cebffd75273bdea7c5b7"/></dir><file name="Schedule.php" hash="6ac83aed52b6ae3256a9906a4370a66c"/></dir><file name="Observer.php" hash="3a61f2a4165aadd074686fc4dd6bfeea"/><dir name="Resource"><dir name="Schedule"><file name="Collection.php" hash="a8f6dddabd1265fb4743245ced01230b"/></dir><file name="Schedule.php" hash="33fc20836d2171d9949b73cc50e2d105"/></dir><file name="Schedule.php" hash="65ca2746160839b4514f1284b95f8070"/></dir><dir name="etc"><file name="config.xml" hash="8ea948903301aed5a1117e1ec2b52b7d"/><file name="system.xml" hash="bc4190c5898ffc674bf7ae552b14cc7e"/></dir><dir name="sql"><dir name="cron_setup"><file name="install-1.6.0.0.php" hash="4ac9e29af105f14c9ea6e0565eb21dce"/><file name="mysql4-install-0.7.0.php" hash="3ba830a77c1d985f7a83fe0e008475e9"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="4d5d452d004acae9c2ace046afe0ad92"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="9008bddeb8e836fbb26f0c20aab65fdf"/></dir></dir></dir><dir name="CurrencySymbol"><dir name="Block"><dir name="Adminhtml"><dir name="System"><file name="Currencysymbol.php" hash="f47a77be4420bffac85f7d872e89f102"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="147a5a7af07ed0831da300c3f100c20e"/></dir><dir name="Model"><file name="Observer.php" hash="c6a9f862b406983ac0c3b4667998338b"/><dir name="System"><file name="Currencysymbol.php" hash="f43af0d9441283cb3583dfb25c9c72c2"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="System"><file name="CurrencysymbolController.php" hash="81843fabc7a4edeffb3c66a96f245111"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="d406b1181fcc035d9e66f0478c772053"/><file name="config.xml" hash="9b618f0e516ffa912d7d6ba9ec4f7e93"/></dir></dir><dir name="Customer"><dir name="Block"><dir name="Account"><file name="Changeforgotten.php" hash="fced334ff0b4c476c421e8eb61ab898c"/><dir name="Dashboard"><file name="Address.php" hash="08fc3da5ef87ce0f3d3b6a49c6d6b96d"/><file name="Block.php" hash="7ecc346998aa07b344b488a1f68bcf3a"/><file name="Hello.php" hash="1577a3b7e668fb5eba42d771cee2a4df"/><file name="Info.php" hash="a28109d8c9e53d8df9c112fc6456c618"/><file name="Newsletter.php" hash="81eaf17f4451110516d15c1e9060a6df"/><file name="Sidebar.php" hash="78f7c1ecea5c5d84ffc9265ec682112b"/></dir><file name="Dashboard.php" hash="4ea7dc3f67fb46c8de31ac6dde8702a2"/><file name="Forgotpassword.php" hash="0954e6e8365b6f1bed1c8b5cfdb711c0"/><file name="Navigation.php" hash="2bb91a3fca4c66259eab57b299240a30"/><file name="Resetpassword.php" hash="ed4565c138a3ddc81e64fe6dbc84bd0a"/></dir><file name="Account.php" hash="afe508a80c28e23a4ecb1c3c5544a6b0"/><dir name="Address"><file name="Book.php" hash="6800f4240c38234c6a71b507c12a2a6b"/><file name="Edit.php" hash="3ffd80fd5dfe6540383e8072433c6965"/><dir name="Renderer"><file name="Default.php" hash="fc8079a31280cb3e17e4955f002e9732"/><file name="Interface.php" hash="d66b89c20dd7ea78138f1f959cc0b901"/></dir></dir><dir name="Form"><file name="Edit.php" hash="d53369b67258ffabea416ab39348ae00"/><file name="Login.php" hash="0198cb1a7280263217b6c028c679ce8f"/><file name="Register.php" hash="cc64439d56326d315840b6bf8d50e151"/></dir><file name="Newsletter.php" hash="a1c95a95a4498fc1544da8b9060e85be"/><dir name="Widget"><file name="Abstract.php" hash="9f8810def5e03f41ca7bfbc6d029538f"/><file name="Dob.php" hash="cccffffa3c36c6f37cf7db02dc5e7cc9"/><file name="Gender.php" hash="20a92e9abae465f22df00485388e7ec2"/><file name="Name.php" hash="44e46d85ffc1aadf9584aadefb9a623d"/><file name="Taxvat.php" hash="5b6a1aeb9ea9eabc7a2202464c56e0a5"/></dir></dir><file name="Exception.php" hash="334d5017aa3ad32335b631affbf8b194"/><dir name="Helper"><file name="Address.php" hash="2d3a7d87871f4c022b6f5f531cf1f8ea"/><file name="Data.php" hash="0bf4ae911e83b41556b0aeb374c349c5"/></dir><dir name="Model"><dir name="Address"><file name="Abstract.php" hash="5d9dee72eb717beae28d1922c057a11b"/><dir name="Api"><file name="V2.php" hash="266ad678cd335ba60c1af1da19f22bf9"/></dir><file name="Api.php" hash="a03cc80ec147566fcff37dbf64faab06"/><file name="Config.php" hash="80d39631075023919039fd1c57ba6669"/></dir><file name="Address.php" hash="fdd7f0519a98d5b0254d3fec6f21665c"/><dir name="Api"><file name="Resource.php" hash="a3ca3939facf9676e07572b2e0e2b1b8"/></dir><dir name="Api2"><dir name="Customer"><dir name="Address"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="0c688ce090e3d27195058d7d498dbede"/></dir><dir name="Customer"><file name="V1.php" hash="5234f6e89921abb1805b252a2f191545"/></dir></dir><file name="Rest.php" hash="b8d40fa6226e0a1de076a2dea49e7d8b"/><file name="Validator.php" hash="57a2007eca992a01d27ee93844ef1c83"/></dir><file name="Address.php" hash="aaa3e23cf5369a422c7dc7f60fe988f0"/><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="5b2113835c16750e3496a5f5fb1f5ae3"/></dir><dir name="Customer"><file name="V1.php" hash="4405dc245188874865c837f9558b3082"/></dir></dir><file name="Rest.php" hash="5ed64554ea1364509e0cf89288c04208"/></dir><file name="Customer.php" hash="bb6e0e4c5c2d5bfc28516547e6e61b64"/></dir><dir name="Attribute"><dir name="Backend"><dir name="Data"><file name="Boolean.php" hash="4ac8df716d7f38367d6dbe49e72052e2"/></dir></dir><dir name="Data"><file name="Abstract.php" hash="1867ecd751e10de5d28f4acf3459b1eb"/><file name="Boolean.php" hash="58e453aa57b80ec5e9372436ebaca1d6"/><file name="Date.php" hash="8452492f198664592e3e7a86aae0d9ef"/><file name="File.php" hash="d28febe339b50dbddaab12ca9b8cca4e"/><file name="Hidden.php" hash="6d33bce9cf131d228af61789be63cef0"/><file name="Image.php" hash="fdc9ced5bcab3f489d4d23db1c145c81"/><file name="Multiline.php" hash="475699822544385ca3dcc69e76fa13ba"/><file name="Multiselect.php" hash="cdc75f0b1ab1ce27dadb82349be079b6"/><file name="Postcode.php" hash="6a5bf54cf10fc54829effc31a63a72a2"/><file name="Select.php" hash="4d3809b46c33a1db0853ff6094d0e834"/><file name="Text.php" hash="fc8c36ddfdf5332a5d992b17a816c318"/><file name="Textarea.php" hash="fcd0ca5818876ddb39402575783eeebf"/></dir><file name="Data.php" hash="be5db892203623727253be6c7b993b88"/></dir><file name="Attribute.php" hash="4c616f072194b568dfa6dbcf2c9a28cd"/><dir name="Config"><file name="Share.php" hash="48d6a459edd906fa4433a8c7eb18bb53"/></dir><dir name="Convert"><dir name="Adapter"><file name="Customer.php" hash="d2eae522d3ca91753fbc3e29ddc1299f"/></dir><dir name="Parser"><file name="Customer.php" hash="beae99d9a77e453b1190adfec0750a3d"/></dir></dir><dir name="Customer"><dir name="Api"><file name="V2.php" hash="aa2436ca33afdaae7bdf096fc511b942"/></dir><file name="Api.php" hash="19f6a519c966b04198379abe62639baf"/><dir name="Attribute"><dir name="Backend"><file name="Billing.php" hash="faa9c2539bbf7b7a74b943d00caa708c"/><file name="Password.php" hash="d0393528b65c863a25de9175c9cf0784"/><file name="Shipping.php" hash="b68a9d6f1736be20b4ed6a21a6d0b49a"/><file name="Store.php" hash="2e69bab09b526a69a49a83b3c0cce498"/><file name="Website.php" hash="4334601d447e0fda794cec9dce34da7e"/></dir><dir name="Source"><file name="Group.php" hash="98360127300b5e9809144987e61a0264"/><file name="Store.php" hash="4abe85c31478e7fa194d4c2c98fc66a7"/><file name="Website.php" hash="2618b2a43a90336eec9ca4e84e20c2a5"/></dir></dir></dir><file name="Customer.php" hash="d8ebafc513e5f4a242678b7418decfd7"/><dir name="Entity"><dir name="Address"><dir name="Attribute"><dir name="Backend"><file name="Region.php" hash="1e8b5f5d46a5ad344f18f856dbc86a53"/><file name="Street.php" hash="f3eb2077afa392b82939a7d33058ad81"/></dir><file name="Collection.php" hash="d3ec4db3da89f9371c49196ff87d9cab"/><dir name="Source"><file name="Country.php" hash="ac1d2569e723fd3324242a1ab4c05849"/><file name="Region.php" hash="e4e8342efe2fd0b38294f3788e1bcbbc"/></dir></dir><file name="Collection.php" hash="05ddc8ad4046b66ef051b52d44fdd1e6"/></dir><file name="Address.php" hash="9ca25098a2ce67cc50d1f0c0bf492f32"/><dir name="Attribute"><file name="Collection.php" hash="b1bb2d740a7c345c0c46ecafa70167bd"/></dir><file name="Attribute.php" hash="e1b8d57fa9b3d802ac0ad6ff895b98b0"/><dir name="Customer"><file name="Collection.php" hash="c23343549f1e667660861a73fbe3dc19"/></dir><file name="Customer.php" hash="9cd6abf273d7d3699ee02f49569d327e"/><dir name="Form"><dir name="Attribute"><file name="Collection.php" hash="ef67e77017f7db0946f21874e3ebc711"/></dir><file name="Attribute.php" hash="618a8aff4746774c556906e2dbb56dc0"/></dir><dir name="Group"><file name="Collection.php" hash="e06ab66c1fc6b016a8cdc6e39fee5ab0"/></dir><file name="Group.php" hash="45fb0fbbe8e357fe6f26ae1cbf31b77f"/><file name="Setup.php" hash="33c38b117ba9aa195bb79504b56ae25c"/><dir name="Wishlist"><file name="Collection.php" hash="354fb025a63f5b3026f690cb4442ab9b"/></dir></dir><file name="Form.php" hash="d5f1aa9224be4aa721771b8fb65e7abf"/><dir name="Group"><dir name="Api"><file name="V2.php" hash="5bdbdfeb06ce9a196eb712fefc9c402b"/></dir><file name="Api.php" hash="6d92e16c176002b84361ac07832bffb6"/></dir><file name="Group.php" hash="7cc8f0dd768aba328ee3564cbfecaf31"/><file name="Observer.php" hash="05c4c9298cab5d30b19f5cf4a862c268"/><dir name="Resource"><dir name="Address"><dir name="Attribute"><dir name="Backend"><file name="Region.php" hash="0d9f0d30f70655765bed01b63d96d9b6"/><file name="Street.php" hash="04a83b26c53aa80ab01c1aafbb796ea1"/></dir><file name="Collection.php" hash="637774f2478002e6ee054df43bcc379b"/><dir name="Source"><file name="Country.php" hash="71a2b37a1748851c0035f809e0bdfe89"/><file name="Region.php" hash="844de0dca956ee491723b7902228fb04"/></dir></dir><file name="Collection.php" hash="36dce3f02858cf7a208cb5e1725aa97e"/></dir><file name="Address.php" hash="9903c920d224421684fb7bd93a7781a5"/><dir name="Attribute"><file name="Collection.php" hash="db7bbf94e78302488fde013cfacd9e98"/></dir><file name="Attribute.php" hash="eb31a55d0a28cffe6bc03e05df1ed514"/><dir name="Customer"><file name="Collection.php" hash="5c3207823fed1f27990d26cf0f8f3d2c"/></dir><file name="Customer.php" hash="78f73dd318200e4c5a07a766d63b7c68"/><dir name="Form"><dir name="Attribute"><file name="Collection.php" hash="d62fab14dc76f758829cef6a810df9d8"/></dir><file name="Attribute.php" hash="d7a7296e899066d4fc01b6f2a56f4db8"/></dir><dir name="Group"><file name="Collection.php" hash="5afd75ae771a976b601f81dafbbcec87"/></dir><file name="Group.php" hash="b7a915449ed7749c86b0ad1ce6ff0585"/><file name="Setup.php" hash="e9702ba3b32f695e2a2d99b31448ce85"/><dir name="Wishlist"><file name="Collection.php" hash="5a0c9faad27c135369581b4c329b3843"/></dir></dir><file name="Session.php" hash="49a0f51d836465a95c0d1879519ad6b1"/></dir><dir name="controllers"><file name="AccountController.php" hash="6c4e67e940f3b59f593066928da4434f"/><file name="AddressController.php" hash="dce3e740290b8c1486ec9cd7293052e1"/><file name="ReviewController.php" hash="508c3a4932ad2b216fc78ff8a701d6f5"/></dir><dir name="data"><dir name="customer_setup"><file name="data-upgrade-1.6.2.0.2-1.6.2.0.3.php" hash="2bc893a5f3d9baf672cf84e8c913567c"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="50849c1982934971d289b35dc3ecd0a4"/><file name="api.xml" hash="3ea62419ec25f6ad40d443166c628740"/><file name="api2.xml" hash="47711ce85c8d796ed91d265c6d460469"/><file name="config.xml" hash="3e1f6d4a4f54f9cb4e6b2da79b74955e"/><file name="system.xml" hash="a41c7630389b7209a996b3d8b4387761"/><file name="wsdl.xml" hash="b31ebf1de4a58469781b383f455991f5"/><file name="wsi.xml" hash="4c81aee30c525677be5c38e078b98408"/></dir><dir name="sql"><dir name="customer_setup"><file name="install-1.6.0.0.php" hash="c6722d28dacef27ab29b643f758ef193"/><file name="mysql4-data-upgrade-1.4.0.0.11-1.4.0.0.12.php" hash="ef5abe9941b9b1a0c895f5fa2b1f0aea"/><file name="mysql4-data-upgrade-1.4.0.0.13-1.4.0.0.14.php" hash="d44a1e3efa2cd3fc388c207917821570"/><file name="mysql4-data-upgrade-1.4.0.0.7-1.4.0.0.8.php" hash="2c91627628c1339f5cebf10890a38f2d"/><file name="mysql4-data-upgrade-1.4.0.0.8-1.4.0.0.9.php" hash="e49b632aca5e28a67293c325126a0409"/><file name="mysql4-install-0.7.0.php" hash="d8dcd4d5094da2f12e692ece42d88127"/><file name="mysql4-install-0.8.0.php" hash="0d3fbb7ed5c62178e222485988d9e7b5"/><file name="mysql4-install-1.4.0.0.0.php" hash="138bdb5365d60a33117ac3478aa9f85f"/><file name="mysql4-upgrade-0.6.1-0.7.0.php" hash="7c1fd0262a63c8ff50b79e001083f7a1"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="363e9b57cd3696b36f431f085752b5d8"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="021c527478a0ff9af0baf7ec3df02f4e"/><file name="mysql4-upgrade-0.8.0-0.8.1.php" hash="2c8c202d1ec6e3c1ae311b7f8e9f3463"/><file name="mysql4-upgrade-0.8.10-0.8.11.php" hash="6f0b05e3e4874f5eaca3a05a8d60b896"/><file name="mysql4-upgrade-0.8.11-0.8.12.php" hash="4628af77d20620d7560e13a6bd669472"/><file name="mysql4-upgrade-0.8.12-1.4.0.0.0.php" hash="36c583e090c0a00072dc6f0bbc63f5ca"/><file name="mysql4-upgrade-0.8.4-0.8.5.php" hash="0e6780ab9ffb88582b6380835eae0995"/><file name="mysql4-upgrade-0.8.5-0.8.6.php" hash="54566539dc7db512ee378323de4bf19b"/><file name="mysql4-upgrade-0.8.6-0.8.7.php" hash="a88dc9d5df61e4f1c35ca05aac6ae861"/><file name="mysql4-upgrade-0.8.7-0.8.8.php" hash="65ba249ca2d34310acecaf58a90c730a"/><file name="mysql4-upgrade-0.8.8-0.8.9.php" hash="faf1b1cc527fded99a6daf08abeb7eb0"/><file name="mysql4-upgrade-0.8.9-0.8.10.php" hash="f4c7bda051fd88c4ddc9dfd2bd561e21"/><file name="mysql4-upgrade-1.4.0.0.0-1.4.0.0.1.php" hash="2c281af9f5d3c7d765e0e811c737ae95"/><file name="mysql4-upgrade-1.4.0.0.1-1.4.0.0.2.php" hash="034ba91d9726928771e871b07577b8fb"/><file name="mysql4-upgrade-1.4.0.0.10-1.4.0.0.11.php" hash="8d674f068cc86cb857728b8b6fb08622"/><file name="mysql4-upgrade-1.4.0.0.12-1.4.0.0.13.php" hash="61c185677d57da12a970d22ddb05f05a"/><file name="mysql4-upgrade-1.4.0.0.2-1.4.0.0.3.php" hash="04f55ef4393d258f5a55e0028a9931f3"/><file name="mysql4-upgrade-1.4.0.0.3-1.4.0.0.4.php" hash="e637abb3ec729c7d5a823cd7a4aff962"/><file name="mysql4-upgrade-1.4.0.0.5-1.4.0.0.6.php" hash="c42b6bd2019102e3131ea7f540c50b6d"/><file name="mysql4-upgrade-1.4.0.0.6-1.4.0.0.7.php" hash="2b9caa7eda59e0d4450dedbb36b87cd8"/><file name="mysql4-upgrade-1.4.0.0.7-1.4.0.0.8.php" hash="001e91ba0859756ba7048bae6b38cc1c"/><file name="mysql4-upgrade-1.4.0.0.8-1.4.0.0.9.php" hash="b8786ebb55d6c1e0fc128d0e4da6ab2a"/><file name="mysql4-upgrade-1.4.0.0.9-1.4.0.0.10.php" hash="0b1efc85ae90a8caaefa357e4255ea82"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="e8b9f39275e935992bb92394b8d88a6d"/><file name="mysql4-upgrade-1.6.0.0-1.6.1.0.php" hash="239edb6475a8d43322ee37e6c93430f2"/><file name="upgrade-1.6.1.0-1.6.2.0.php" hash="ff896a7214ac40c54417217d57f8ed0a"/><file name="upgrade-1.6.2.0-1.6.2.0.1.php" hash="b297335d55acecbde135d6df95779463"/><file name="upgrade-1.6.2.0.1-1.6.2.0.2.php" hash="480c316c173021f5b6a3969c732aedf9"/><file name="upgrade-1.6.2.0.3-1.6.2.0.4.php" hash="7c8a6b2ad86df5b8af8fc57bc67d0fe2"/></dir></dir></dir><dir name="Dataflow"><dir name="Helper"><file name="Data.php" hash="6465cd672c3f3b789f0ce68fe56ca210"/></dir><dir name="Model"><dir name="Batch"><file name="Abstract.php" hash="a72b30a0f7f2dbd2355cc9ab7a065fc0"/><file name="Export.php" hash="2a347c5b937768e63d94a291f4c6ee8c"/><file name="Import.php" hash="8609cf6fe2ec5e47113bfd892475f99c"/><file name="Io.php" hash="3b4e1278ab16b6cfa9abff8507f46063"/></dir><file name="Batch.php" hash="4c44c87c6a834e0f58efd26fed42a2c8"/><dir name="Convert"><dir name="Action"><file name="Abstract.php" hash="2438ed004179ffa108a63d5e2f222236"/><file name="Interface.php" hash="733da76667237922d6d449a3b69ae435"/></dir><file name="Action.php" hash="6cfe1a8b8d52145278b58895236b52be"/><dir name="Adapter"><file name="Abstract.php" hash="58e1fdd534d4f3f76d8fe1d865b60f86"/><dir name="Db"><file name="Table.php" hash="53e10c1ac23116f8c6a6ddbde64a1f9e"/></dir><dir name="Http"><file name="Curl.php" hash="744b8a2b86864abfea92b71725fc8820"/></dir><file name="Http.php" hash="d1ea66edc722b8accd19b0adfbd7d11c"/><file name="Interface.php" hash="11052c6a192dd467f389fe7ac6b84e85"/><file name="Io.php" hash="8c0296ddbbee95bf24aae0bcb78eea80"/><file name="Soap.php" hash="ca3e6862b566aeb5581f4344f3d621f6"/><file name="Std.php" hash="2d58df33c9796d6b046bb20c966054f7"/><dir name="Zend"><file name="Cache.php" hash="fcd406583fd02b7c8be74cc7843e6b95"/><file name="Db.php" hash="a85645a65ced26200c5525f15b8119e0"/></dir></dir><dir name="Container"><file name="Abstract.php" hash="f1802b2e4c92ec8877317fb50111f2c3"/><file name="Collection.php" hash="38380862831c2305259d46abbf41aa43"/><file name="Generic.php" hash="739a1e2be58f1870eda3f31b834a1823"/><file name="Interface.php" hash="fef9bc1ba0f04e432cdff336660ffc20"/></dir><file name="Exception.php" hash="d2d901bbcbf10a28df208dcd1a1980a8"/><dir name="Iterator"><dir name="File"><file name="Csv.php" hash="043ee74f2fceaef1af9170ec825d70b5"/></dir><file name="Http.php" hash="4727281da701bcae4d2f46982db9c980"/><file name="Interface.php" hash="2e6f3b56123eb3cffbc19c548dcfdafe"/></dir><file name="Iterator.php" hash="3a915c5742dcf64bc1f2d91626b9b0ee"/><dir name="Mapper"><file name="Abstract.php" hash="a786dee51483da6557501bf1673fd5d4"/><file name="Column.php" hash="0d247eb378c928e90f80a496b0388730"/><file name="Interface.php" hash="4bbf145346856b2c9f282fa2825f424b"/></dir><dir name="Parser"><file name="Abstract.php" hash="ef292d2447ef56d86ed9534aae6b3fff"/><file name="Csv.php" hash="7ecf34f0a9cf2bf9438e84a49e68c890"/><file name="Interface.php" hash="dadb9f463b43f28640e4708a4d866a50"/><file name="Serialize.php" hash="60e5ce469511bca43d4a89254424e823"/><dir name="Xml"><file name="Excel.php" hash="8ff8502bbf1565b2b25dcc2ff090197c"/></dir></dir><dir name="Profile"><file name="Abstract.php" hash="20b74ec5332d569fc3afc25fd4376f12"/><file name="Collection.php" hash="588af8f423060628544b544013ce1b47"/><file name="Interface.php" hash="ec1304f19b742cbf5229890d2a8fc226"/></dir><file name="Profile.php" hash="8812c4fc43739ace2116ab49c5d47806"/><dir name="Validator"><file name="Abstract.php" hash="c6f104eff1b82659a4d36d4de5eb3891"/><file name="Column.php" hash="76ce0db2dfa4136b77398245390d13f0"/><file name="Dryrun.php" hash="2fa547ec5aecf1a736f9877b00f75848"/><file name="Interface.php" hash="ed4f54c6508ce31a19f449cf527132ae"/></dir></dir><file name="Convert.php" hash="1a118785cfee26e0249652922fb3fa6f"/><file name="Import.php" hash="c4125b22472e8edb07aaf55a499201ee"/><dir name="Mysql4"><dir name="Batch"><file name="Abstract.php" hash="3aa5d4c54262bfbf463b7b2e90e6a0ca"/><file name="Collection.php" hash="9ea3700a10c5e6e85006c9d63a45b4e8"/><file name="Export.php" hash="5df742225ff7f0cb3c2530248a345b28"/><file name="Import.php" hash="fe2b0f2f6fc0bddc67825793ad13afba"/></dir><file name="Batch.php" hash="3803aa35bc8f1772737d21f0d65f6e07"/><file name="Catalogold.php" hash="0e023972193f136cebfde36252fa2c4c"/><dir name="Import"><file name="Collection.php" hash="7722967ae22783fe92f27e55e90de1ff"/></dir><file name="Import.php" hash="eb5d31c548d4eddbf751b208da673050"/><dir name="Profile"><file name="Collection.php" hash="ab4e4ad47794284cba12a444d7f3f495"/><dir name="History"><file name="Collection.php" hash="ee4193e87158ffceee49a1449c7bca99"/></dir><file name="History.php" hash="964aa735b3fd1ba3a06632ca19d28eee"/></dir><file name="Profile.php" hash="94be3bfa9c5f1a175fc6ee5d60e5ee65"/><file name="Session.php" hash="f8795a0c5817f0809c11f19ea5df5cf4"/></dir><dir name="Profile"><file name="History.php" hash="755a5ed8dd4c1b25f237fb1598b82c7d"/></dir><file name="Profile.php" hash="55bd1e08aecf03ef5481d06afe4484cc"/><dir name="Resource"><dir name="Batch"><file name="Abstract.php" hash="11746a73dbf367baddc49c98ee4bcd04"/><file name="Collection.php" hash="82529698919888159989a4595e4bdba4"/><file name="Export.php" hash="f41c179fc4ee246cb750f7c8d43df57f"/><file name="Import.php" hash="a0fcb8df641d15a8dd39009544e19447"/></dir><file name="Batch.php" hash="fcc5b78df2ea986e82415fe9e8e246ec"/><dir name="Import"><file name="Collection.php" hash="65eafb61a50696e1f399cd3a2f01030f"/></dir><file name="Import.php" hash="35a2c1acb655ff0c76c330114462fd25"/><dir name="Profile"><file name="Collection.php" hash="baca3a6c70f7ae2717341a6742db7782"/><dir name="History"><file name="Collection.php" hash="f689357486f341ee846696b278221fe3"/></dir><file name="History.php" hash="655b62bbe1d2eb9bbc4fbf34b1a272b2"/></dir><file name="Profile.php" hash="063582cabd6ad164def62f04205cb245"/><file name="Session.php" hash="773fef3cc64d0d4a9d2438125d2f6e6a"/></dir><dir name="Session"><dir name="Adapter"><file name="Http.php" hash="6f3b7442403f2d17c462d0f6ebc6486f"/></dir><dir name="Parser"><file name="Csv.php" hash="222ce10f61da341c9ca849bc2f8145d7"/></dir></dir><file name="Session.php" hash="dd3e356428c1f99f97906eb168dd5f33"/></dir><dir name="data"><dir name="dataflow_setup"><file name="data-install-1.6.0.0.php" hash="e071429f47116a98b169da9819c35640"/></dir></dir><dir name="etc"><file name="config.xml" hash="2e118dec7181a8e54eecd6476d20b1cd"/></dir><dir name="sql"><dir name="dataflow_setup"><file name="install-1.6.0.0.php" hash="16396d55ee8be825295fe63d5d89df7b"/><file name="mysql4-install-0.7.0.php" hash="1a3e64911829e084e4523ed8e02ed41f"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="6b7fb755e32fbdb7b0a8b8e2d07a8ea2"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="c38208cf5ed155921e0294d9149afa27"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="b51f71e9fd234db0af7ff97c442af60e"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="e3d3aaa974b011cb94c2ad7a5e026cdc"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="6d8690664c883cd6be731ebc8bce9894"/></dir></dir></dir><dir name="Directory"><dir name="Block"><dir name="Adminhtml"><dir name="Frontend"><dir name="Currency"><file name="Base.php" hash="3df3b6aaceeac2d31ceb35688be211cb"/></dir><dir name="Region"><file name="Updater.php" hash="fa6d4e9f133a8477fb646dae7aa7e4c8"/></dir></dir></dir><file name="Currency.php" hash="1410e677f27c3583f211be2d85a2149b"/><file name="Data.php" hash="c909b4874ea35549661d47ee2c1d921f"/></dir><file name="Exception.php" hash="453781dee8161d7b895ba3b1b0899ed3"/><dir name="Helper"><file name="Data.php" hash="aa37d979e53ded8d6ed9d432e6def025"/><file name="Url.php" hash="9e2d3271ce5db109658ee9f773db2fe0"/></dir><dir name="Model"><dir name="Country"><dir name="Api"><file name="V2.php" hash="afc6233ae08cfd5f08f8af38dfadad2a"/></dir><file name="Api.php" hash="c9307a174e99bb73fd7721d0cc15d628"/><file name="Format.php" hash="549856f02db55e157ce7cc937dd5795c"/></dir><file name="Country.php" hash="f47612b251ae4076df80ba085b1a00be"/><dir name="Currency"><file name="Filter.php" hash="3e3723b4af1bb35a6742a5ef2c019cd1"/><dir name="Import"><file name="Abstract.php" hash="3a1c5f29cca4389e86d6cebbe4f7be52"/><file name="Webservicex.php" hash="dea261da8bc1c2ddb0f00813a7d62754"/></dir></dir><file name="Currency.php" hash="f24df11a73ec1ac000d4ee91fe4cccf4"/><dir name="Mysql4"><dir name="Country"><file name="Collection.php" hash="490fcff8cc039c4a882d3e3b39ac0b3e"/><dir name="Format"><file name="Collection.php" hash="0f58e5a9fa3243c66db014d768a98da0"/></dir><file name="Format.php" hash="1b5b0f7deb5ec7a20a428d3c9a51cec5"/></dir><file name="Country.php" hash="23ff3d527006e79be8d941145374b004"/><dir name="Currency"><file name="Collection.php" hash="7418fb72c4b329862657fea893873e32"/></dir><file name="Currency.php" hash="8e9d26aad2bafd54bfab262341b89840"/><dir name="Region"><file name="Collection.php" hash="003d2e43eab9416cc832faaae38d445e"/></dir><file name="Region.php" hash="ac20fa937cd177b663e7acab340b7f4a"/></dir><file name="Observer.php" hash="66dfc096ba692f66d368654743204f2f"/><dir name="Region"><dir name="Api"><file name="V2.php" hash="da3f09a99c24d056d3461b600884f039"/></dir><file name="Api.php" hash="13196b7ad957235c9d4d80744baacc3d"/></dir><file name="Region.php" hash="5f11b838130796d0c106ef14e9a101ba"/><dir name="Resource"><dir name="Country"><file name="Collection.php" hash="ced5dce56f137888a778c307244eadf4"/><dir name="Format"><file name="Collection.php" hash="69cb0e29571bd557c535465669d45e66"/></dir><file name="Format.php" hash="801e9aeb9fcac19129e86aaf6c742bd2"/></dir><file name="Country.php" hash="d6826020474e1e50a9f7d616110c1eed"/><dir name="Currency"><file name="Collection.php" hash="4d6afb22b96acf37ac4f67a6326166b5"/></dir><file name="Currency.php" hash="24f10a37fe14475176ee98163b700344"/><dir name="Region"><file name="Collection.php" hash="57023acea67abf21b68492953657446c"/></dir><file name="Region.php" hash="bc8800af3d7e35e91fa90f2b553d9a91"/></dir></dir><dir name="controllers"><file name="CurrencyController.php" hash="35bb0925782ebd04e4943ab84951b0a3"/></dir><dir name="data"><dir name="directory_setup"><file name="data-install-1.6.0.0.php" hash="449178d272d3d195a1cbb6fc539a19d7"/><file name="data-upgrade-1.6.0.0-1.6.0.1.php" hash="8e186141736e15ee67ac6666545fed8d"/><file name="data-upgrade-1.6.0.2-1.6.0.3.php" hash="e0f4e5efad915f8bd637815adb08569a"/></dir></dir><dir name="etc"><file name="api.xml" hash="a8c3af31971871f3375af3bed83efb86"/><file name="config.xml" hash="74e76d5a9efb3fee78fc4c625c294ab6"/><file name="system.xml" hash="184976587366b082639fb50d529be1ee"/><file name="wsdl.xml" hash="cc488b81c0eae648a0ee360d6e2d9960"/><file name="wsi.xml" hash="66de37cc17e24c0c66f74c52e2df616e"/></dir><dir name="sql"><dir name="directory_setup"><file name="install-1.6.0.0.php" hash="96c305524970800bd33dbe4fde4fc024"/><file name="mysql4-install-0.7.0.php" hash="42cf2e07bdba83c4a27ef841f02cf584"/><file name="mysql4-install-0.8.0.php" hash="44a9bc17d349599c2f6ff1a4b2007846"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="0959ae732181c61075a30c10e25ef9d0"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="32c7d7431d0eb0edeae4ee12ee8e4330"/><file name="mysql4-upgrade-0.8.0-0.8.1.php" hash="4a159005aafdf056c758c1f2dab6b6e5"/><file name="mysql4-upgrade-0.8.1-0.8.2.php" hash="112a839147f190e708ac455635a889ea"/><file name="mysql4-upgrade-0.8.10-0.8.11.php" hash="4506726831a1d03b8207430506e602cd"/><file name="mysql4-upgrade-0.8.2-0.8.3.php" hash="f88e75dc363e65884f3c048e7ffc0923"/><file name="mysql4-upgrade-0.8.3-0.8.4.php" hash="20244a13eae58dcc96177cee74fccfbd"/><file name="mysql4-upgrade-0.8.4-0.8.5.php" hash="8bd7e20943ffcf758a319bc15e9c3d05"/><file name="mysql4-upgrade-0.8.5-0.8.6.php" hash="bfbf0cf011d06e1e92bd31462ebcce0a"/><file name="mysql4-upgrade-0.8.6-0.8.7.php" hash="e86faf4aaa60d3c6594e6a86f00dcb7d"/><file name="mysql4-upgrade-0.8.7-0.8.8.php" hash="5d20a16495474937945473bac9216f5b"/><file name="mysql4-upgrade-0.8.8-0.8.9.php" hash="c2e580ccc38df1b269b211a97b6631f8"/><file name="mysql4-upgrade-0.8.9-0.8.10.php" hash="449b434a82d218c5247b29abc82af315"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="ab1088a57c79f78a47f80873415e5804"/><file name="mysql4-upgrade-1.6.0.1-1.6.0.2.php" hash="990a1d52cb2fe443704da47a700b5237"/><file name="upgrade-1.6.0.1-1.6.0.2.php" hash="8882e2847161262a97651fe455d3cb09"/></dir></dir></dir><dir name="Downloadable"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><dir name="Composite"><dir name="Fieldset"><file name="Downloadable.php" hash="7358eefbe70ee183fff6b1a2704b89df"/></dir></dir><dir name="Edit"><dir name="Tab"><dir name="Downloadable"><file name="Links.php" hash="346b6dfd7dd8607b67c280350ac9975e"/><file name="Samples.php" hash="93c481ebd2ef25927bd836829d943fae"/></dir><file name="Downloadable.php" hash="f8b9ba9f21da82fdc42aca57b2342440"/></dir></dir></dir></dir><dir name="Sales"><dir name="Items"><dir name="Column"><dir name="Downloadable"><file name="Name.php" hash="ac478179897d1c38ed89186f2b96c6d1"/></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><file name="Links.php" hash="6f12867079f0056e33188a1781b26ce2"/><file name="Samples.php" hash="584482a2e01386e3e5adcdfebe777bab"/><dir name="View"><file name="Type.php" hash="3f08ab2df3b23f5cd17db5552eba2c3d"/></dir></dir></dir><dir name="Checkout"><dir name="Cart"><dir name="Item"><file name="Renderer.php" hash="5ccfcdb46c34c9b9156755ac704c5a08"/></dir></dir><file name="Success.php" hash="99e840479f116e644a35d9d216159b4b"/></dir><dir name="Customer"><dir name="Products"><file name="List.php" hash="be90199170ef5e92035c539a27929df4"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Email"><dir name="Items"><file name="Downloadable.php" hash="4c877a4a2d8b36d09606d16d9aff6c4f"/><dir name="Order"><file name="Downloadable.php" hash="6d1f06f133472f790e0b00c1e9bdf37f"/></dir></dir></dir><dir name="Item"><dir name="Renderer"><file name="Downloadable.php" hash="f52357f0c231d6ff9741fdc6ff165ea6"/></dir></dir></dir></dir></dir><dir name="Helper"><dir name="Catalog"><dir name="Product"><file name="Configuration.php" hash="d7d2ffc5fcd3d53a4273289cdf6921b3"/></dir></dir><file name="Data.php" hash="07eb756ae74dfa62fd3bf51609d4d4a6"/><file name="Download.php" hash="3c298ba201ccc8d74bc52c2e49390af8"/><file name="File.php" hash="c86545274beaf199427b91dd9963d741"/></dir><dir name="Model"><dir name="CatalogIndex"><dir name="Data"><file name="Downloadable.php" hash="125f7269d544ba02f6655baa197f4473"/></dir></dir><dir name="Link"><dir name="Api"><file name="Uploader.php" hash="9746c685682eb407d254a2465886b4a3"/><file name="V2.php" hash="991ca71de9dda0bea63cc0cd33ef9daa"/><file name="Validator.php" hash="062a30a7333c11b09b71ee717a328731"/></dir><file name="Api.php" hash="9b300c79df89089057c7bdf443919b1e"/><dir name="Purchased"><file name="Item.php" hash="594d6579858a2b03be09fcae48e919c2"/></dir><file name="Purchased.php" hash="a4f94fc05023dca72a2a604892446c16"/></dir><file name="Link.php" hash="694fe1ab9a01117859c6d5eb125ad60e"/><dir name="Mysql4"><dir name="Indexer"><file name="Price.php" hash="8b811e5db6b18e60eff2b867aa535f2e"/></dir><dir name="Link"><file name="Collection.php" hash="60724c4412e2745d17770867f6136310"/><dir name="Purchased"><file name="Collection.php" hash="15568a7cf224010ec291774a3aa455d7"/><dir name="Item"><file name="Collection.php" hash="19e24646e835c28b1b48edea775b85fc"/></dir><file name="Item.php" hash="b2988c475c696f3d23346dd4ee4135f2"/></dir><file name="Purchased.php" hash="f4005b7a02cd00de35ae48f249373fca"/></dir><file name="Link.php" hash="ca2faf7ecebc50591c1bf629d75206a7"/><dir name="Sample"><file name="Collection.php" hash="2941b96e46a0d3371c4af2e3466c779f"/></dir><file name="Sample.php" hash="793b63049588a8f428f288fbfee5d383"/></dir><file name="Observer.php" hash="c2de9729f8c6eda48909ebed3700d321"/><dir name="Product"><file name="Price.php" hash="037cc3a2002e5a88fb7a058ce69d5b22"/><file name="Type.php" hash="62299715d7e4dc49cceb8e0fab2a3ef3"/></dir><dir name="Resource"><dir name="Indexer"><file name="Price.php" hash="7bcb28ca3896a121f3fb2822c097ad76"/></dir><dir name="Link"><file name="Collection.php" hash="1ac5104d02a0f70f31164c1daef776d3"/><dir name="Purchased"><file name="Collection.php" hash="75c749171a918e324c290fe466540cb1"/><dir name="Item"><file name="Collection.php" hash="439f6d97c98306cd8d5eb1ba41e73f3a"/></dir><file name="Item.php" hash="006ec93b3aed51e5f19c9919cb4ef97d"/></dir><file name="Purchased.php" hash="0441d43b422ec40025ef75acabdacb86"/></dir><file name="Link.php" hash="d05c0bd3eda5e6f29879afa45ac75c30"/><dir name="Sample"><file name="Collection.php" hash="a5bb7f15c1bde679a53a0ee8ed712b42"/></dir><file name="Sample.php" hash="91bf983e907eecbb76965a7c392b9020"/></dir><dir name="Sales"><dir name="Order"><dir name="Pdf"><dir name="Items"><file name="Abstract.php" hash="272c182a0a9898fceddebc88df8c1b05"/><file name="Creditmemo.php" hash="6490db251da913698d88f4197d6a09d5"/><file name="Invoice.php" hash="7ad07c0b6573103c7cea924be44579d5"/></dir></dir></dir></dir><file name="Sample.php" hash="a1edf7159521eb4b34a1b4031ba1c091"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Contentdisposition.php" hash="e722e6c4fee62f44ed6eeecaa501e38b"/><file name="Orderitemstatus.php" hash="b3d1a82bbb57611c7adda7e58783385c"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Downloadable"><file name="FileController.php" hash="e9308d58b8f4264a784b19151a76babb"/><dir name="Product"><file name="EditController.php" hash="0969a4037610b06894afa3b4cbbd7f56"/></dir></dir></dir><file name="CustomerController.php" hash="1ddd6baf02a69a69975de56e17a01940"/><file name="DownloadController.php" hash="83756594be03b31dbf6d23f569fe70ec"/><file name="FileController.php" hash="c8e35419fe8ba798b09e1e9cebdedc0a"/><dir name="Product"><file name="EditController.php" hash="70913c9ac3ada8a871d54c0a4f681746"/></dir></dir><dir name="data"><dir name="downloadable_setup"><file name="data-install-1.6.0.0.php" hash="b14b0b3975296dab7f22c9eb3a9a0b05"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="ae491bc8ec858cca1e75cb3e8c5f2b17"/><file name="api.xml" hash="bbe19285b70034f9d5e27f0fda6cb3ae"/><file name="config.xml" hash="b1854a9ecf6b790247072bf98573fbe0"/><file name="system.xml" hash="c4960eb43b0313ec2f48cc2f3565d3c2"/><file name="wsdl.xml" hash="b3935ff3bf7e2ca40ddd304b4c78577f"/><file name="wsi.xml" hash="7eef36b29c2abf88596e63b6a042626d"/></dir><dir name="sql"><dir name="downloadable_setup"><file name="install-1.6.0.0.php" hash="beb734081bb4155a9cb7f553e69b594c"/><file name="mysql4-install-0.1.0.php" hash="7ce2cf98b69fbfba519760dc52e80459"/><file name="mysql4-install-1.4.0.0.php" hash="23dc8c45995c1e29783cd4cb2a9b45d7"/><file name="mysql4-upgrade-0.1.0-0.1.1.php" hash="935c425258ea38e53750b2c29d4f8963"/><file name="mysql4-upgrade-0.1.1-0.1.2.php" hash="fe155b21566d67a442234b6e79eb5adb"/><file name="mysql4-upgrade-0.1.10-0.1.11.php" hash="49d09f81d946f2adb1c85d9df82ef2b0"/><file name="mysql4-upgrade-0.1.11-0.1.12.php" hash="ea206eb1a90b9f69d218f67061f333d6"/><file name="mysql4-upgrade-0.1.12-0.1.13.php" hash="1ff853acaa6a28fd9b4bdaf29514ca0f"/><file name="mysql4-upgrade-0.1.13-0.1.14.php" hash="04bcdb5db567384f5f5730e515860f52"/><file name="mysql4-upgrade-0.1.14-0.1.15.php" hash="f0881b027d876ba04ee199cc78cf526c"/><file name="mysql4-upgrade-0.1.15-0.1.16.php" hash="57216ec34addd7ee5c7eaec22ec2c27f"/><file name="mysql4-upgrade-0.1.2-0.1.3.php" hash="7661dc81d863d694545619cc29bb5eae"/><file name="mysql4-upgrade-0.1.3-0.1.4.php" hash="590fa44959f6f7eee97b3ed60f457f79"/><file name="mysql4-upgrade-0.1.4-0.1.5.php" hash="c48d705fd46c240333b9714d285608ff"/><file name="mysql4-upgrade-0.1.5-0.1.6.php" hash="954022ed0f417fc88563f7714b837002"/><file name="mysql4-upgrade-0.1.6-0.1.7.php" hash="47f79b65ee08a98d9a2384ee272b6115"/><file name="mysql4-upgrade-0.1.7-0.1.8.php" hash="08329ddb5b63676cb1ec21c54d656b9c"/><file name="mysql4-upgrade-0.1.8-0.1.9.php" hash="c6f922e771296d9825ed6ac46baf201e"/><file name="mysql4-upgrade-0.1.9-0.1.10.php" hash="4959673a9ecfd8101537611c2196389f"/><file name="mysql4-upgrade-1.3.9-1.4.0.0.php" hash="9a05f94ff39ae21bf150a5de0c989000"/><file name="mysql4-upgrade-1.4.0.0-1.4.0.1.php" hash="9ffbb8d7bb6bab9522c8d973cc1c3a7b"/><file name="mysql4-upgrade-1.4.0.1-1.4.0.2.php" hash="9c21c4304bb549da8bf45ef68d2eb955"/><file name="mysql4-upgrade-1.4.0.2-1.4.0.3.php" hash="959e73c2831f1beba3b34283dd9080ae"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="22ff9aa1fa9bed6cd198f6c363bdebd0"/><file name="mysql4-upgrade-1.6.0.0.1-1.6.0.0.2.php" hash="721d09be119a9721f79cd7b1616937ce"/><file name="upgrade-1.6.0.0-1.6.0.0.1.php" hash="d98e8b797596118339ad1f7d1d11a56a"/><file name="upgrade-1.6.0.0.1-1.6.0.0.2.php" hash="3334037f3df011313b4cc5567d6cfa1a"/></dir></dir></dir><dir name="Eav"><dir name="Block"><dir name="Adminhtml"><dir name="Attribute"><dir name="Edit"><file name="Js.php" hash="e0bba2d57c4540d7195297cdf88d2bd6"/><dir name="Main"><file name="Abstract.php" hash="457a084c10be074a8c774f997d9ac8e4"/></dir><dir name="Options"><file name="Abstract.php" hash="76af300975657193d4d0cfa85576fda0"/></dir></dir><dir name="Grid"><file name="Abstract.php" hash="a2657b40ee26194898ae39afc02947cc"/></dir></dir></dir></dir><file name="Exception.php" hash="ba78eaacf2dc82c3cffe9548d50747f3"/><dir name="Helper"><file name="Data.php" hash="6d1932a60c28de1ecd04570ca364eaa3"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Source"><dir name="Inputtype"><file name="Validator.php" hash="a2675fe89ef6f342922029238f2ea5c0"/></dir><file name="Inputtype.php" hash="4afc8da40c91a9f47b55c03ceac7990f"/></dir></dir></dir></dir><dir name="Attribute"><dir name="Data"><file name="Abstract.php" hash="306fcd0c0607ac616612120f9c77d287"/><file name="Boolean.php" hash="18858a47815608071999b0b5ca1165c3"/><file name="Date.php" hash="6769356dbf884bf768ee06a318aa44e2"/><file name="Datetime.php" hash="df486c8eb6af383ad7804695e91efff1"/><file name="File.php" hash="7cead2c01b8e44a125d763e865fbdeb3"/><file name="Hidden.php" hash="24980022dd521fb150ae8c538786fbbf"/><file name="Image.php" hash="c4d430baccc315f46a45b99c3a4bf9be"/><file name="Multiline.php" hash="faf0756527157bbb78ac40d08f0e6ea6"/><file name="Multiselect.php" hash="2732b3248b01aee3f10fb501cd01e6c4"/><file name="Select.php" hash="f1bcb979195337a74e5cfdb282551cd3"/><file name="Text.php" hash="c9d2dc2235eb7170bfa1cf0b5d9a203c"/><file name="Textarea.php" hash="80ec9bc40d0b8cc4f0c4fb597d2819f1"/></dir><file name="Data.php" hash="305a8daf73fe035215210e588ae6c8ad"/></dir><file name="Attribute.php" hash="4ace96e951c06dd07f00c390e870a60d"/><file name="Config.php" hash="c42f7c5fd927b3a5c64d7a7c34c4a6a5"/><dir name="Convert"><dir name="Adapter"><file name="Entity.php" hash="0ade841607bab74e7a483d455b9f52f9"/><file name="Grid.php" hash="7fc479f09d622aaaf52890c7d58cfc8f"/></dir><dir name="Parser"><file name="Abstract.php" hash="8db62cb6da63d23daf851de36e320be3"/></dir></dir><dir name="Entity"><file name="Abstract.php" hash="e8431edc51fa410d8213e2461a335740"/><dir name="Attribute"><file name="Abstract.php" hash="000e768f7d9893f1b9169952b5e46f1e"/><dir name="Backend"><file name="Abstract.php" hash="aab703cc6b8cce7d9a8a8f118e5e7531"/><file name="Array.php" hash="99875b63f65864791260146ba38d3206"/><file name="Datetime.php" hash="e9d9857bff9668b2c652a9d6b9a16e4e"/><file name="Default.php" hash="8fbbfcbd555ebdd43d03bb958ff33390"/><file name="Increment.php" hash="4a0efac8a50f88f2b1d97fc86fb91fd9"/><file name="Interface.php" hash="6e0ed88de1bfdcf5bb4de9d64a945dac"/><file name="Serialized.php" hash="0c6e0dcc914fffe7ddc3d6d7090e0c21"/><file name="Store.php" hash="97409a22dc17d154d20ca68eb1f3864b"/><dir name="Time"><file name="Created.php" hash="42b416adf0c6918aeba35d9c27b249b8"/><file name="Updated.php" hash="240414877034fe485c7270a923935c58"/></dir></dir><file name="Exception.php" hash="1b3b6f8d415510f60ca92f8fae59876e"/><dir name="Frontend"><file name="Abstract.php" hash="24237f13ba4d0cc05b45103aa15052d6"/><file name="Datetime.php" hash="aae764ac16d26251acb7c4a948782102"/><file name="Default.php" hash="5c45d132eaa76426fb30c662fa161e0d"/><file name="Interface.php" hash="cfdc936f738438f302061440b520b68d"/></dir><file name="Group.php" hash="0aa9726a108e94b20a07365b28105996"/><file name="Interface.php" hash="3ceddd274b6274c99a51aa1f36a406dc"/><file name="Option.php" hash="9ee6bc3d4f689086b37b2ffc18b785cd"/><file name="Set.php" hash="e647755dae1f6158ef4c05ff9ca4c5a8"/><dir name="Source"><file name="Abstract.php" hash="85bb954a30e6e5789456b2041872fbc5"/><file name="Boolean.php" hash="7acdb80b01292956b92db947973b0cdc"/><file name="Config.php" hash="e9dec75fb6c8eb8726fd5039c3e2fde8"/><file name="Interface.php" hash="789df7c41a366fe4fc689c655d492a8d"/><file name="Store.php" hash="83cfdbed4e59a35f70996934da9c053d"/><file name="Table.php" hash="df09bf2cd735dec656a663d731217ec9"/></dir></dir><file name="Attribute.php" hash="e51a9433782f8811c162dc8975b46252"/><dir name="Collection"><file name="Abstract.php" hash="33d0bf3ff5a7dbdc0db1f6a86deb7e67"/></dir><file name="Collection.php" hash="f33ad123504fcded784d6390769539cc"/><dir name="Increment"><file name="Abstract.php" hash="f967bb4fc23c850be7c268d50a7cea0b"/><file name="Alphanum.php" hash="f7a3e9c80bcefde59d531d46a6433fce"/><file name="Interface.php" hash="bb5b075e6e0f93b5294d8394e0f4c8cb"/><file name="Numeric.php" hash="a6df9348d7d018da95bbf66a2c8a3503"/></dir><file name="Interface.php" hash="4a2c904265bdf814ea5b3cdad22c615b"/><file name="Setup.php" hash="60425807abfee75f5949f0bdb758f407"/><file name="Store.php" hash="af4c09a4e20e7fbacb7deeac0e470bcb"/><file name="Type.php" hash="c94283878472673af91cc9c1d06332e4"/></dir><file name="Entity.php" hash="a354f3b0d015f164ac3af7292b617019"/><dir name="Form"><file name="Element.php" hash="f7e425204d55ac6395c0695b7a550bd4"/><file name="Fieldset.php" hash="6f911a1dd046a6c2d9429a0e42a7bdc3"/><file name="Type.php" hash="389f76edf7ae69afaa26be81d817e63a"/></dir><file name="Form.php" hash="1ad7a7957defd42a9fd071ad02b138a2"/><dir name="Mysql4"><file name="Config.php" hash="007e3a0c288d5a921a1d7ffbccd15c9c"/><dir name="Entity"><dir name="Attribute"><file name="Collection.php" hash="af2a8e18dec1095aeb8cd167f4084f08"/><dir name="Group"><file name="Collection.php" hash="63819ab574b2252fb3e36f4722c3bfe1"/></dir><file name="Group.php" hash="7f4daa758c746bcf7a35ba2fcca56aa8"/><dir name="Option"><file name="Collection.php" hash="d981884b8300d5f1cdc295badad4d397"/></dir><file name="Option.php" hash="5123a55ce2e310234ed2eea4ba2103d2"/><dir name="Set"><file name="Collection.php" hash="59191804e6864586038796ace8ed39e9"/></dir><file name="Set.php" hash="6ac37acb880ef52967c53c20f4a18292"/></dir><file name="Attribute.php" hash="36f7157a08817d00f8408a80ad307726"/><file name="Store.php" hash="ac8bdd504017b69c029d014f1acb883e"/><dir name="Type"><file name="Collection.php" hash="df4a0594aa35f346c052a9188a5c4471"/></dir><file name="Type.php" hash="ad6ac3edee4ec97ce9332b165eef1736"/></dir><dir name="Form"><dir name="Element"><file name="Collection.php" hash="45b9183328ee19850345752b1a8e23fd"/></dir><file name="Element.php" hash="4166c03b2847882e3368be57d1cb7f6b"/><dir name="Fieldset"><file name="Collection.php" hash="5146d0c568cddd8ec261ffb7c0a7bac0"/></dir><file name="Fieldset.php" hash="988d72a77b0182cabebdff61fc9a2531"/><dir name="Type"><file name="Collection.php" hash="5cda9032e5d07855388b412abe4c8d71"/></dir><file name="Type.php" hash="85d66f2053a03b1a495ed6ffd7cba6c8"/></dir></dir><dir name="Resource"><dir name="Attribute"><file name="Collection.php" hash="745a9bffdca7a1641891bcd4b0b3ec32"/></dir><file name="Attribute.php" hash="9b08b8a0b41eeed8a9ebf3acfb1b89ec"/><file name="Config.php" hash="30786ab3c85c165506c3db425cf9cfa5"/><dir name="Entity"><dir name="Attribute"><file name="Collection.php" hash="5aa1077e62b09344de49240534ac1c1f"/><dir name="Group"><file name="Collection.php" hash="f6d61cf7b743537537a27648b7b1605a"/></dir><file name="Group.php" hash="017cba9a5945e4f851460e5080aed89d"/><dir name="Option"><file name="Collection.php" hash="021d33b2d1d89308eb74f3597a3796cd"/></dir><file name="Option.php" hash="1515ac3c5a915d814a63b7fe1d5e63bb"/><dir name="Set"><file name="Collection.php" hash="4064d63b518886a4e1a8b0539868297b"/></dir><file name="Set.php" hash="5caa0c72cd0a8bb9a73f6c537ab7c19a"/></dir><file name="Attribute.php" hash="0d90287692b6f7b8aa961e82992e6b80"/><file name="Store.php" hash="7ccda84a385ab0b3bcfbe2d0f9214a8e"/><dir name="Type"><file name="Collection.php" hash="f2271900b7cc9bcc317c3b15561b460f"/></dir><file name="Type.php" hash="258dc3600151215743abb3f826df4572"/></dir><dir name="Form"><dir name="Attribute"><file name="Collection.php" hash="b3e6bffd6179cf09b589f1d0f7a57a4c"/></dir><file name="Attribute.php" hash="1bae3456f8a814790ea27c6f87fe640e"/><dir name="Element"><file name="Collection.php" hash="fcbc5b35885479067ec6fcd8ddb212e5"/></dir><file name="Element.php" hash="25036926d29af351dbddea9896c118d1"/><dir name="Fieldset"><file name="Collection.php" hash="86c6b6a9ed62afd852f3ffd3aa82e88a"/></dir><file name="Fieldset.php" hash="76933617fe53fd9d5cccf6c4c3e6ae65"/><dir name="Type"><file name="Collection.php" hash="94d8400f8b81c0b5d46c3716a46197a1"/></dir><file name="Type.php" hash="bfcfa79bf5911c3cf38699903edcbde3"/></dir><dir name="Helper"><file name="Mysql4.php" hash="e569889cc3ec54dc85de288aaf895e09"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="dbab2258c8d26c903915254fe61ef3b3"/></dir><dir name="sql"><dir name="eav_setup"><file name="install-1.6.0.0.php" hash="8bd8cda1628ad65acced30d89f9e79f2"/><file name="mysql4-install-0.7.0.php" hash="b5c7cab312704e2f4b0837c7713ed7e5"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="4dc93d791f8319279f500b0b4ed8b72b"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="3304a0f850d10d0083eacfb2614043af"/><file name="mysql4-upgrade-0.7.10-0.7.11.php" hash="0a66058a0c21cb0746195f2cf09a8987"/><file name="mysql4-upgrade-0.7.11-0.7.12.php" hash="45a1db26109e930762aa3e6d27e7315e"/><file name="mysql4-upgrade-0.7.12-0.7.13.php" hash="eac8e6dbd6a556a0c97ec397a4b2bb6d"/><file name="mysql4-upgrade-0.7.13-0.7.14.php" hash="f9ef9728e9111ce19b3d4b0ced28c5dd"/><file name="mysql4-upgrade-0.7.14-0.7.15.php" hash="ead9b25a17f8bcfc1b874e568008e688"/><file name="mysql4-upgrade-0.7.15-0.7.16.php" hash="74a8a82cc1660b3be1ccec4131387b5b"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="821ca88eb77698b1e1363314d78c61b4"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="507ed2e28ff2f31e35df016bcb3aa6ce"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="962eed9c04187bec9872955c3cbcdd24"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="1794620b2d297dd60179fcf6f5932c74"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="41bc6f807ca7e82b1a49860647de4d22"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="b47e4d4570ed78ec510b818e705c60e5"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="3cc86e7527496b42cc349baf22061625"/><file name="mysql4-upgrade-0.7.9-0.7.10.php" hash="31a77042c51dda6249cf7b26175d41cf"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="5d300439dcdb43b988cdc3eb6a723a69"/><file name="upgrade-1.6.0.0-1.6.0.1.php" hash="c254084e38d31391d4a9dcf6f5efb1b5"/></dir></dir></dir><dir name="GiftMessage"><dir name="Block"><dir name="Adminhtml"><dir name="Product"><dir name="Helper"><dir name="Form"><file name="Config.php" hash="2b97d65b248912e6056105eb7b22647a"/></dir></dir></dir><dir name="Sales"><dir name="Order"><dir name="Create"><file name="Form.php" hash="102f55b5670ecc4624d2779a5d9dae47"/><file name="Giftoptions.php" hash="5af2eaa83c347cf87f944cecc240f72f"/><file name="Items.php" hash="b4833f6731249bb524d0ac5c8b61b823"/></dir><dir name="View"><file name="Form.php" hash="d96b129bc6aa7fb968b6b3bca40d6641"/><file name="Giftoptions.php" hash="8e5db4e604059e74dfa6a6cbf48eab22"/><file name="Items.php" hash="8c4cfb13907db5b6caab2a99ee039918"/></dir></dir></dir></dir><dir name="Message"><file name="Form.php" hash="e0b6247f6e0dac8a096335409c8bbf58"/><file name="Helper.php" hash="3a4cbf8851f4b489b433bb23fb62a50b"/><file name="Inline.php" hash="07b38ebaac00b45a1929387903ff3862"/></dir></dir><dir name="Helper"><file name="Data.php" hash="5b88dfacb8f95f979585366200b80f72"/><file name="Message.php" hash="92f73fd54b2a59340bfdbf05615fb68f"/><file name="Url.php" hash="9f8d36e13391f023deaaf0b912cc37fc"/></dir><dir name="Model"><dir name="Api"><file name="V2.php" hash="f04aee0ff3e2490540050c4b319ccedf"/></dir><file name="Api.php" hash="ae703cf87197282f7efde1dae67864af"/><dir name="Entity"><dir name="Attribute"><dir name="Backend"><dir name="Boolean"><file name="Config.php" hash="912ab6934476d64533586fd38351183d"/></dir></dir><dir name="Source"><dir name="Boolean"><file name="Config.php" hash="529f82da62485f46d085625efc092714"/></dir></dir></dir></dir><file name="Message.php" hash="6e3d9660ffca1ed6f992e15d2143e486"/><dir name="Mysql4"><dir name="Message"><file name="Collection.php" hash="8610d5937a758e916c2d81dbd41d36ac"/></dir><file name="Message.php" hash="6d0ccc5368848a220e397da25dfaf737"/><file name="Setup.php" hash="2407a2d026ed41cb38ceff1ebccb8c88"/></dir><file name="Observer.php" hash="9e8f1570cc6efdf82b5fc5b4b2e12b58"/><dir name="Resource"><dir name="Message"><file name="Collection.php" hash="6949121421c02e75fb923b0170b73d99"/></dir><file name="Message.php" hash="6b09b60ccc7b993dd17c5240cd2aa7ac"/><file name="Setup.php" hash="30c57e5147e83cce71f3976820ce24c6"/></dir></dir><dir name="controllers"><file name="IndexController.php" hash="7897754c8f0647dd688d6c57f4b74070"/></dir><dir name="etc"><file name="api.xml" hash="14039afdb9315721b5b515c9f34f41cb"/><file name="config.xml" hash="3cb2d88b80c9f48c64a36d62e9abcd3f"/><file name="system.xml" hash="510b3986f40a221b5d18f9dda07194c9"/><file name="wsdl.xml" hash="b99aaaac0126c6e09a7ba59fa4dbcf30"/><file name="wsi.xml" hash="ab77c7cfecb0f5d6cb7b07c0b5abc1d1"/></dir><dir name="sql"><dir name="giftmessage_setup"><file name="install-1.6.0.0.php" hash="0fb2290857ea3b17b7ed76e851d27c62"/><file name="mysql4-install-0.7.0.php" hash="654f2dbfc67cf93ffdd6d78a461e896a"/><file name="mysql4-upgrade-0.1.3-0.7.0.php" hash="e4ca5e477b610b00e61a8f7509ee1f5f"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="7775c0535994eefcc81be63041a681a1"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="2d547e8260cc8efdad80bb7898d536f5"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="80c9fd152bb817c49659463cc955b7a2"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="e11619037b1758b3ee2cd847af91315d"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="01dc822919ac4feb64b4d321078d3f8a"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="fd7bb80cc8682a3991609c5b1eed3977"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="ab382785e333359bb9793011aac0f586"/></dir></dir></dir><dir name="GoogleAnalytics"><dir name="Block"><file name="Ga.php" hash="21d9fd37c1e92ae684566de0eb42791f"/></dir><dir name="Helper"><file name="Data.php" hash="100f3a40bea481c98c1393f43b6bc603"/></dir><dir name="Model"><file name="Observer.php" hash="ad6ac25124a3322a714e20a977064be0"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Type.php" hash="4805f9d896da417036af79e15613eac3"/></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="5fea2673308abebb7cd8c15359737309"/><file name="config.xml" hash="4284f96f4068849482549a713d11c4f8"/><file name="system.xml" hash="c91c97c91ae42121ff31cd23d5a5682b"/></dir><dir name="sql"><dir name="googleanalytics_setup"><file name="install-1.6.0.0.php" hash="a7ae51e268e4b23f43b1f6b1477691f9"/></dir></dir></dir><dir name="GoogleBase"><dir name="Block"><dir name="Adminhtml"><file name="Captcha.php" hash="62f522f22cb64d19850b09ccee65adb6"/><dir name="Items"><file name="Item.php" hash="f8c9007a1ad978bb47b6c9d5d2c11d93"/><file name="Product.php" hash="e51f257f3918fcd5e72ce12f5f527b87"/><dir name="Renderer"><file name="Id.php" hash="a163a4d6a3edc89a19bb0efa0675ac7d"/></dir></dir><file name="Items.php" hash="f78483b50fc3e072d0dccb10fdc6e45a"/><dir name="Store"><file name="Switcher.php" hash="7dd1e22cb003eecdfa9a7d4df6628e1e"/></dir><dir name="Types"><dir name="Edit"><file name="Attributes.php" hash="de7ce9a9907ae7d7d94adb123ba364c4"/><file name="Form.php" hash="76cb4afbadef58a6cb517007fd258a1a"/></dir><file name="Edit.php" hash="7a8c72d4f8d506f69561735fe175d759"/><file name="Grid.php" hash="1794a6560af01397f30022cbf248de3f"/><dir name="Renderer"><file name="Country.php" hash="60106faee902375cc177fa463e27ec2a"/></dir></dir><file name="Types.php" hash="cc6a7f78d0e2edf4dfe7a40b46282138"/></dir></dir><dir name="Helper"><file name="Data.php" hash="a9d67fdd71f358434564df80fc163a06"/></dir><dir name="Model"><file name="Attribute.php" hash="c9e51b38341831512db3e739233707d4"/><file name="Config.php" hash="a3afa7ff5098f38dfe1d5c979f7389d1"/><file name="Item.php" hash="a200fd6fc7e97b66695133fa4650f35e"/><dir name="Mysql4"><dir name="Attribute"><file name="Collection.php" hash="4bf3b43f87dac062e4cba4ee6b155b02"/></dir><file name="Attribute.php" hash="8a74acdccc2d5e802c2f1ddf6b9f2a2d"/><dir name="Item"><file name="Collection.php" hash="26993881e30a5bc17876ae4024400823"/></dir><file name="Item.php" hash="73f6da324cb2de0d5975130fc7db4077"/><dir name="Type"><file name="Collection.php" hash="0294f3588c2dce8cd416e4ed5349d832"/></dir><file name="Type.php" hash="062cb6dd81aed45a04e69ef7acd5ab3d"/></dir><file name="Observer.php" hash="7a728d960e8d7291dad86f4391091696"/><dir name="Resource"><dir name="Attribute"><file name="Collection.php" hash="ea5ac4726d4656f50002c16f0b95cd58"/></dir><file name="Attribute.php" hash="8ff14327de62fcf5a8a0b01677202a41"/><dir name="Item"><file name="Collection.php" hash="b00cf45f527f967c76c8ce2d4b74fda4"/></dir><file name="Item.php" hash="ec0a24d01ec1e532d7d1c68ba0bf8eca"/><dir name="Type"><file name="Collection.php" hash="f72ce44ab1aec0e8c9e8dab0353b388c"/></dir><file name="Type.php" hash="4364b45b8eba2cf13aa0aa945ee9c03d"/></dir><dir name="Service"><file name="Feed.php" hash="199e735393a20e97b65cdee9f1c23fcd"/><file name="Item.php" hash="f02a6db44af965fc155d93048077ac08"/></dir><file name="Service.php" hash="278413ad9e0e76f20e58736aaf8aa5b9"/><dir name="Source"><file name="Accounttype.php" hash="f52c54635bd844df6474a5b890d468b2"/><file name="Authtype.php" hash="31fc1f9aa9000ff058ab8765cafd4e04"/><file name="Country.php" hash="886467f45e88a020c30ae01c9e5578e9"/><file name="Statuses.php" hash="ebcdec3951e1ed9ee101d149dd1bb24a"/></dir><file name="Type.php" hash="328e54fa39d0fbb1dffbe800b38d4100"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Googlebase"><file name="ItemsController.php" hash="b643377439ef3280554774f5d422766f"/><file name="SelectionController.php" hash="7238751980394f57e9f8cca86819114f"/><file name="TypesController.php" hash="72e6982dad771b164f21aa77b7507bbf"/></dir></dir><file name="ItemsController.php" hash="3e1165defd70e63523405e6a8debcab7"/><file name="SelectionController.php" hash="63901f0e85cb0769358a745c4628e58d"/><file name="TypesController.php" hash="9e01961f36dee9a443ac5c875f5ba939"/></dir><dir name="etc"><file name="adminhtml.xml" hash="a72bbb994243c60b20bd507b5ad4bd5e"/><file name="config.xml" hash="8b080f10dc19b429bfa57197e0fed070"/><file name="system.xml" hash="abdd0ddd6a9936e18c2e12181ccd0cf4"/></dir><dir name="sql"><dir name="googlebase_setup"><file name="install-1.6.0.0.php" hash="ac81f7ef2a424e846595f7aaeca9eb57"/><file name="mysql4-install-0.1.0.php" hash="5ef567e8fd3f272288334985d8319ed7"/><file name="mysql4-upgrade-0.1.0-0.1.1.php" hash="0bbd83ea551e93f64fa1ee618659d1bd"/><file name="mysql4-upgrade-0.1.1-0.1.2.php" hash="e94099eedd81ce5f48dbeb10adbcc391"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="f5618d5a47a34bdfc1a20c869f60b2ee"/></dir></dir></dir><dir name="GoogleCheckout"><dir name="Model"><file name="Payment.php" hash="1f39c37b4560a4016f479f8e97d4ef08"/></dir><dir name="etc"><file name="config.xml" hash="46071ba0ff385dc63194959aa98e5b89"/></dir></dir><dir name="ImportExport"><dir name="Block"><dir name="Adminhtml"><dir name="Export"><dir name="Edit"><file name="Form.php" hash="191ccf47abab7c84547280304805073a"/></dir><file name="Edit.php" hash="360e63e850d8f71eb7e75cf3cc21578c"/><file name="Filter.php" hash="c02bfef81c8010bc55d03bd26d4d72a8"/></dir><dir name="Import"><dir name="Edit"><file name="Form.php" hash="792fe3b32111587f3cb6da0e20b2dd7d"/></dir><file name="Edit.php" hash="89d3340a3cf9ca522457b72f882681f9"/><dir name="Frame"><file name="Result.php" hash="d325e4179d827ca9af9098f0d875f888"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="6b5b53e8a8f5180ad6f13a5c27b094c1"/></dir><dir name="Model"><file name="Abstract.php" hash="40838be4ecbacd9411cce97a8e33fd59"/><file name="Config.php" hash="157790b05e5a9c2e0b7d204b88917318"/><dir name="Export"><dir name="Adapter"><file name="Abstract.php" hash="64ed9cc14fbad47ae4f11a2928fde17c"/><file name="Csv.php" hash="794dcfddb7bd0db0c5303df1f166153f"/></dir><dir name="Entity"><file name="Abstract.php" hash="e31a714f686f381d798e22664e1adbb6"/><file name="Customer.php" hash="24ab7d507c3a46d86d4aa20f2c998fd4"/><dir name="Product"><dir name="Type"><file name="Abstract.php" hash="20cf0dedd5dc42796be32ba0d51a2327"/><file name="Configurable.php" hash="4686346b2b166ff1f92146293cc7e327"/><file name="Grouped.php" hash="38f7b2c87a9455afdd0c135758740796"/><file name="Simple.php" hash="9ef13bb631878a0af571539965571172"/></dir></dir><file name="Product.php" hash="f591a679963220b632745c495f263512"/></dir></dir><file name="Export.php" hash="ea27aaa86fdc7d628ee11dbeb5c07f7c"/><dir name="Import"><dir name="Adapter"><file name="Abstract.php" hash="2ad7d03cced97eaaa1651ddd2b7f7083"/><file name="Csv.php" hash="75a2655c6e3540b2ca24619293902dd1"/></dir><file name="Adapter.php" hash="f236483dac22b562e1d06a5355a7f8f5"/><dir name="Entity"><file name="Abstract.php" hash="ae4bdb8377bd890291cf075cd2effefa"/><dir name="Customer"><file name="Address.php" hash="e5970ea424ff012beeaa5abda978df39"/></dir><file name="Customer.php" hash="2e407b589b4af03aba89271c91a33d70"/><dir name="Product"><dir name="Type"><file name="Abstract.php" hash="93a0b9def9a8f96499b060c3e12caadf"/><file name="Configurable.php" hash="5a9f117df70ab0d2a20c48be413162bb"/><file name="Grouped.php" hash="7fb797515dc6bf4fb6b695dd7a50209c"/><file name="Simple.php" hash="1fbbbbf117e24efa9ab1fa9fce3736f9"/></dir></dir><file name="Product.php" hash="38cda3bf095e0a5f9476a04782463be2"/></dir><dir name="Proxy"><dir name="Product"><file name="Resource.php" hash="fd09d311d1aa8f092f7bafd3057a74ba"/></dir><file name="Product.php" hash="ef5715669f2930b67adf56d347ed4335"/></dir><file name="Uploader.php" hash="7c3c8a75d52ca5626f3bbdb3e457229c"/></dir><file name="Import.php" hash="31c1fb6a58202618c63bedc68330edfe"/><dir name="Mysql4"><dir name="Import"><file name="Data.php" hash="4b9f1050be63d5e883107af1296175f2"/></dir><file name="Setup.php" hash="ae69a84651baea4a3980558f63bef95a"/></dir><dir name="Product"><dir name="Attribute"><dir name="Backend"><file name="Urlkey.php" hash="c48051028fca4186c5c6d9b86de4b26b"/></dir></dir></dir><dir name="Resource"><dir name="Helper"><file name="Mysql4.php" hash="bf9c7c30ee1dc6fa8dfc921f8ae7dfc4"/></dir><dir name="Import"><file name="Data.php" hash="c4db1e915b5b7f72a0ff25cf4f2f1541"/></dir><file name="Setup.php" hash="2d595c2da3a7deb58f70949f10a2dd3e"/></dir><dir name="Source"><dir name="Export"><file name="Entity.php" hash="b1e3a8910a8855867da94132482feb51"/><file name="Format.php" hash="d6d5b4658fc212ba88e5ee9200b65080"/></dir><dir name="Import"><file name="Behavior.php" hash="887159c45f3ab8ccd55f07ae44855d40"/><file name="Entity.php" hash="482bac24d63807f8a1e7dce11b15ca63"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="ExportController.php" hash="3a0345427274827e38cbc3a07a2c78ce"/><file name="ImportController.php" hash="60eaa6d4654ea83fcc6f35912b3493c3"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="8b27d8fa6369ee77b35c48e50dd63eb0"/><file name="config.xml" hash="3272523ea699bf38f342a8a9e22df99f"/><file name="system.xml" hash="c8a042d8ca73431d57b0f0e8664130d1"/></dir><dir name="sql"><dir name="importexport_setup"><file name="install-1.6.0.0.php" hash="e9c28a9b24e977248e6cf669002a4ebe"/><file name="mysql4-install-0.1.0.php" hash="477525d2570e7ec6f7b26cde9ba38f4a"/><file name="mysql4-upgrade-1.6.0.1-1.6.0.2.php" hash="31078007e13b489ee06a2d98c5f68f0e"/></dir></dir></dir><dir name="Index"><dir name="Block"><dir name="Adminhtml"><file name="Notifications.php" hash="64e42d1d0916743a3c267a9d3986a018"/><dir name="Process"><dir name="Edit"><file name="Form.php" hash="afec06dbd7f7e4703655d23518471df5"/><dir name="Tab"><file name="Main.php" hash="eab42bfbcdb027c24bdf85780380b453"/></dir><file name="Tabs.php" hash="f0027c1dec504f914afc09a5107d98cc"/></dir><file name="Edit.php" hash="a8607cfd423515bbab8652621b57ba97"/><dir name="Grid"><file name="Massaction.php" hash="81e99da4acec59e14a5328d88d1eef59"/></dir><file name="Grid.php" hash="2d48734f2ffba326c7e48f1c79fec71b"/></dir><file name="Process.php" hash="a5905ac7c9d456b64ab5efcbb01bfce8"/></dir></dir><file name="Exception.php" hash="3f9709e30bf75621f0b2b009fac764a3"/><dir name="Helper"><file name="Data.php" hash="526c8c51d7557bb7e2bebdc796d83dee"/></dir><dir name="Model"><file name="Event.php" hash="4ddf63e7fa648061409e0225cd44e404"/><dir name="Indexer"><file name="Abstract.php" hash="3456ff7dde44167200fa592863a01abb"/></dir><file name="Indexer.php" hash="7e249ec7766c897fcc067337af52f972"/><dir name="Lock"><dir name="Storage"><file name="Db.php" hash="7b6395c88009ce3b639153553dbfbe90"/><file name="Interface.php" hash="228a5b390d2eb1461f8284f0b0a0e436"/></dir></dir><file name="Lock.php" hash="18ae0b5da223a0e92aed6b366118633f"/><dir name="Mysql4"><file name="Abstract.php" hash="da2155dd41c4e0bc6d59024cfb8ecb6c"/><dir name="Event"><file name="Collection.php" hash="309b479d4c1fd12a8bb3ef51ab199245"/></dir><file name="Event.php" hash="b25a7b1d24b6260998c37c63c333d8b2"/><dir name="Process"><file name="Collection.php" hash="254e38062f1c44ddeb34b6e28bf1cd70"/></dir><file name="Process.php" hash="50c2548f9175cc128f8cb28251d82ab0"/><file name="Setup.php" hash="e173a9a5363dc1795e537e33aa2fd2e0"/></dir><file name="Observer.php" hash="f651484dc38526885bcb6b52a330a92c"/><file name="Process.php" hash="1beada279d1055354e1567b610ecf06b"/><dir name="Resource"><file name="Abstract.php" hash="e3f04920b0ccdcf81cad334aa4c98d92"/><dir name="Event"><file name="Collection.php" hash="7e1da3865c397d4f8f8f39deacdaf477"/></dir><file name="Event.php" hash="b38237c2f5e6479523e2e5dca54abfb7"/><dir name="Helper"><dir name="Lock"><file name="Interface.php" hash="68edac6eef4180e63de6c52596f2b6b7"/></dir><file name="Mysql4.php" hash="02072c9858b4d309efadf7b07f58538d"/></dir><dir name="Lock"><file name="Resource.php" hash="b1ade0fb2bf60074421c007373cd8f87"/></dir><dir name="Process"><file name="Collection.php" hash="23640077491875846f0bd74705a3fb3d"/></dir><file name="Process.php" hash="6cc0a505a68ac88ea9a9fd8bfed8ace4"/><file name="Setup.php" hash="9d334f0343ac10a2224fab7adb308709"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="ProcessController.php" hash="828bd6d468d2ac1b795a96963e61effa"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="881d9be8b3c918a1cf77f9e930efdf42"/><file name="config.xml" hash="0f27f7d206075ae8f14bff9293b2189c"/></dir><dir name="sql"><dir name="index_setup"><file name="install-1.6.0.0.php" hash="15418fe240598d12bf4d35dfd4d30a24"/><file name="mysql4-install-1.4.0.0.php" hash="3d1236edd44f29b962421065da8f0296"/><file name="mysql4-upgrade-1.4.0.0-1.4.0.1.php" hash="1c13dc777f4d4ed5ecd9ba41006fa6d3"/><file name="mysql4-upgrade-1.4.0.1-1.4.0.2.php" hash="4469700c7a18ff4a769e76be0c90266e"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="614694540111f3a5a21295109475a53e"/></dir></dir></dir><dir name="Install"><dir name="Block"><file name="Abstract.php" hash="555000323855b771524db1059d3c7325"/><file name="Admin.php" hash="acc664e804f36a76f83951fa9e006179"/><file name="Begin.php" hash="3c352bab206779b7424b8353cda33106"/><file name="Config.php" hash="5aaa7143564a85f0514f302e750756e2"/><dir name="Db"><file name="Main.php" hash="b47e431840dcbd7f3ad112a5bab094ff"/><dir name="Type"><file name="Mysql4.php" hash="0758a30a32781d178ceebf407b8ec7ed"/></dir><file name="Type.php" hash="29ba04bc5cfacd3edd3af12454ecf420"/></dir><file name="Download.php" hash="015e92ffaafb93fbc7734a019747cefc"/><file name="End.php" hash="6869d3d567eca578c8ac18375c235764"/><file name="Locale.php" hash="c237683a54c18d9e9c1e592cf3abfa32"/><file name="State.php" hash="d2b2eb2154ba0696c2e8f51c360fb38c"/></dir><dir name="Controller"><file name="Action.php" hash="936a0d4a816a2f20af2e82075fc09faf"/><dir name="Router"><file name="Install.php" hash="daad88210875f371d0308ad9232527ff"/></dir></dir><dir name="Helper"><file name="Data.php" hash="19d3c8e41fbdb23f2d36c7136daf4ca3"/></dir><dir name="Model"><file name="Config.php" hash="97fe63982485036efc55aa51f5a56664"/><dir name="Installer"><file name="Abstract.php" hash="3cfd0c23eec851411c164e572f2a9d77"/><file name="Config.php" hash="6d712ce39c557e7170d3450401a66bad"/><file name="Console.php" hash="a1a9e4fa9c3a75a3a3672d80ec6f7445"/><file name="Data.php" hash="3187a8648f8bd73efc4037e7491a29c6"/><dir name="Db"><file name="Abstract.php" hash="ee952066e04729eb05b4aad84e1266aa"/><file name="Mysql4.php" hash="58e387d6ca053687e4dc3c16664105d9"/></dir><file name="Db.php" hash="1c677f1de56b0cfed06c89d43fd2e6a4"/><file name="Env.php" hash="ab54af3da141dcffd4550230932fc31b"/><file name="Filesystem.php" hash="dd2164debedfc223c151543d6604754b"/><file name="Pear.php" hash="ea295ba14228f45bac4fd7c0efe3b655"/></dir><file name="Installer.php" hash="8aab26a891e8786b3fd82d1a6ddd2d86"/><file name="Observer.php" hash="7121ca74bcbf584b617f1beedb6b8a22"/><file name="Session.php" hash="cc550bb13df895f0ea855727598c60c2"/><file name="Wizard.php" hash="5d0aee29acb9303f1769d3a254335a1a"/></dir><dir name="controllers"><file name="IndexController.php" hash="256c45076b06fa9e37bda5b226d085b0"/><file name="WizardController.php" hash="20a361bc4c1b891c0406740e24dde5ab"/></dir><dir name="etc"><file name="config.xml" hash="d6b69e99d14fba4296f9ddf90ae4ec25"/><file name="install.xml" hash="31da31823570f91544558cd61c7fc226"/></dir></dir><dir name="Log"><dir name="Helper"><file name="Data.php" hash="30ae369a1aa4759d45a453609b5dad3c"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Source"><file name="Loglevel.php" hash="9cad9bf72c99c36940a09de844584716"/></dir></dir></dir></dir><file name="Aggregation.php" hash="5f78ce71ac5613af4644991bf532ff0b"/><file name="Cron.php" hash="d8ad0584b0f7ac24aff2ff0d6cc4cd91"/><file name="Customer.php" hash="b5f937ab16fa39630d9109616fbcbf59"/><file name="Log.php" hash="3aeefc6a2d29ec116b3099bd92164549"/><dir name="Mysql4"><file name="Aggregation.php" hash="b97140f67f21e77ede87b020e9517f5e"/><file name="Customer.php" hash="0d514c735d2ac96ab53aef336ec152c6"/><file name="Log.php" hash="f8e29884e1fe0ea14f53216ea119b753"/><dir name="Visitor"><file name="Collection.php" hash="a310d6e6b71610a4282e467a1b4aa41c"/><dir name="Online"><file name="Collection.php" hash="eb1e5990f2e12de88f7b0aa2b1b62dc1"/></dir><file name="Online.php" hash="e9b8b8a9bd0f56a674ef13f26e76173e"/></dir><file name="Visitor.php" hash="4102a469fbf239d68fb7b2ffb9905a22"/></dir><dir name="Resource"><file name="Aggregation.php" hash="4ce2a95673f3e0d6a96b9416adc1435c"/><file name="Customer.php" hash="e6d3b8a6a126f61a432b4a24967bcdfa"/><file name="Log.php" hash="cd9efd22a95cebc176759b75f3479a6b"/><dir name="Visitor"><file name="Collection.php" hash="a71743a48c7c2074c1af4611b8d8e905"/><dir name="Online"><file name="Collection.php" hash="50f686d723180437039b42ea42553113"/></dir><file name="Online.php" hash="b04b67e7d53aaa3cc4e96f12179bc905"/></dir><file name="Visitor.php" hash="55fb2c737e70985f71d03e9b2d5f3f20"/></dir><dir name="Visitor"><file name="Online.php" hash="c8744cb16a9038474c624a4bc0939166"/></dir><file name="Visitor.php" hash="928d3f4c1949c88f8ef947e47affb03d"/></dir><dir name="data"><dir name="log_setup"><file name="data-install-1.6.0.0.php" hash="83ebb5d68ec9c7a74ea170c7ad4d523d"/></dir></dir><dir name="etc"><file name="config.xml" hash="752c4b618caa3b66cba80355f680f61f"/><file name="system.xml" hash="1d8c7a56952b37a70adba7d4005d69e5"/></dir><dir name="sql"><dir name="log_setup"><file name="install-1.6.0.0.php" hash="e4885569c21f047e584cf37ba17af655"/><file name="mysql4-install-0.7.0.php" hash="d3b05b14033df61f11df7029aab003a0"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="b822f8f0e83f17b4853b78b816205ef9"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="44c6c31099f5e75706ef83c6c0d3e0d8"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="942917aad3bd435d793185fb16dfa1f6"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="273e630ff2847772bc2f0680947defa2"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="7dcc3a767526ab0fa4b626538011fd4a"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="9f31ffe2d94a4610da2b65219f42cb2c"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="81747aadb709ceef438bd9005f838da3"/><file name="mysql4-upgrade-1.6.0.0-1.6.1.0.php" hash="88ba8d186737c788be142f3b1f99c732"/><file name="mysql4-upgrade-1.6.1.0-1.6.1.1.php" hash="3ae3748b58bb788c9b1aed2198689aa6"/></dir></dir></dir><dir name="Media"><dir name="Helper"><file name="Data.php" hash="26771745a6464a7198d3e593254ca53d"/></dir><dir name="Model"><dir name="File"><file name="Image.php" hash="963140ba20341c36389eb43c64d54d9b"/></dir><dir name="Image"><dir name="Config"><file name="Interface.php" hash="57b1124aa9c503223ef3f88a5a967e33"/></dir></dir><file name="Image.php" hash="ed0066b2bf423c2cefed47ddb1af4236"/></dir><dir name="etc"><file name="config.xml" hash="1f67f3dc20255bd6e3cd3280969a23a9"/></dir></dir><dir name="Newsletter"><dir name="Block"><file name="Subscribe.php" hash="449ab55028a54ca25d0839b9cfc5b0b8"/></dir><dir name="Helper"><file name="Data.php" hash="14eceb7d1f476c6d32a0bc989e25f655"/></dir><dir name="Model"><file name="Message.php" hash="3cf3c04a138a75d3d21b60aebf14e8bf"/><dir name="Mysql4"><dir name="Problem"><file name="Collection.php" hash="3d949f32e546368ff16e02e088233531"/></dir><file name="Problem.php" hash="85f0b29f8d01c7869a6b436b38b62233"/><dir name="Queue"><file name="Collection.php" hash="361b217b7fd75fe633ac97e1d665da54"/></dir><file name="Queue.php" hash="4ee1b747ca7dbffcaf84a933341b7642"/><dir name="Subscriber"><file name="Collection.php" hash="e7141e4d1f981040b525a268cfbbe0b6"/></dir><file name="Subscriber.php" hash="4d67750c55b9944f29c7c127a1630e8a"/><dir name="Template"><file name="Collection.php" hash="761c9841afb177482318503120ecf6c2"/></dir><file name="Template.php" hash="0b3568e98b4a06b9eacdd19c40e2c35b"/></dir><file name="Observer.php" hash="f01f66d03b935a633b2a47e5177e6753"/><file name="Problem.php" hash="609d83b319fccdfdd963caef0dd98b7a"/><file name="Queue.php" hash="03683875ef4fb937ac4fd7ff32cb3db7"/><dir name="Resource"><dir name="Problem"><file name="Collection.php" hash="b38f7bc74ebaa7bc00b1cc6fc7522d45"/></dir><file name="Problem.php" hash="9759f8034517091ffeff187d0f1cc143"/><dir name="Queue"><file name="Collection.php" hash="3e77b2973b1d1e9ee11b3fffa4a019e3"/></dir><file name="Queue.php" hash="d48763a0ddf55e5acce61a64c5a0e342"/><dir name="Subscriber"><file name="Collection.php" hash="fe744d0af0f83889863470f07021cc2f"/></dir><file name="Subscriber.php" hash="381627f97da58822b99c853fceea89ed"/><dir name="Template"><file name="Collection.php" hash="1d5164328ce7a03fc4425c72e2929f84"/></dir><file name="Template.php" hash="274acf2f5d0e27a4c5190061ac53f19c"/></dir><file name="Session.php" hash="9ba9110e39fe7c83ea5d3d8083a83f40"/><file name="Subscriber.php" hash="b356c4fb473c18c566204ea520ece6ab"/><dir name="Template"><file name="Filter.php" hash="bbed59b047d5680c0980dd5c2d124f36"/></dir><file name="Template.php" hash="3706ee69d89cbf54d6b84622451215e0"/></dir><dir name="controllers"><file name="ManageController.php" hash="f7829644363c4307be49d59b3a480f79"/><file name="SubscriberController.php" hash="6e44a9acf8256e118ee24fbad6f88dab"/></dir><dir name="data"><dir name="newsletter_setup"><file name="data-upgrade-1.6.0.0-1.6.0.1.php" hash="4cf6778e36701416f8c01cf7b109f145"/><file name="data-upgrade-1.6.0.1-1.6.0.2.php" hash="888b0e1cbdd1d55dee197b4d91370314"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="503ba54d7c27fa034797c32c9bd0b7dc"/><file name="config.xml" hash="3c69e269d11922d08bdeaadb6aaadb4e"/><file name="system.xml" hash="7ef3fb951e816306912826b8697a27d4"/></dir><dir name="sql"><dir name="newsletter_setup"><file name="install-1.6.0.0.php" hash="58883f3e4e4c19304b7029df9d5d5e66"/><file name="mysql4-install-0.7.0.php" hash="0c1559a857127c060b1505c3c696b8b4"/><file name="mysql4-install-0.8.0.php" hash="a1544eb72c9a919917611239ef5f1988"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="8efdcb593f2e1007738ef1c18f3d7de1"/><file name="mysql4-upgrade-0.8.0-0.8.1.php" hash="58d80ff20a72380bdff5ea6959131765"/><file name="mysql4-upgrade-0.8.1-0.8.2.php" hash="faa728001981a1495b3fdee678e16249"/><file name="mysql4-upgrade-0.8.2-0.8.3.php" hash="3593430c5b8682e42147ff755846efb2"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="47e0fb7b1c861432c1b2b3162ab8f9a6"/></dir></dir></dir><dir name="Oauth"><dir name="Block"><dir name="Adminhtml"><dir name="Oauth"><dir name="Admin"><dir name="Token"><file name="Grid.php" hash="42036a33467da4f42d9058ddd47ab959"/></dir><file name="Token.php" hash="e4ce330fec980d7a70e2f88403c0c66e"/></dir><dir name="Authorize"><file name="Button.php" hash="71991ce5a051162fba9687620c5290ba"/></dir><file name="Authorize.php" hash="c6bf2c6799b7198418fe9a7e9d01c683"/><dir name="AuthorizedTokens"><file name="Grid.php" hash="76a530eda3c116a423400284c20f5c9c"/></dir><file name="AuthorizedTokens.php" hash="c9d45c65803f066fa8438be651c285d8"/><dir name="Consumer"><dir name="Edit"><file name="Form.php" hash="2226a3bcda3e8c3d2388135c5472b9db"/></dir><file name="Edit.php" hash="199e0dcb4a0a490de70b964b7b5cdb9b"/><file name="Grid.php" hash="26eb0ea15a6d1d5489f314cec6f661e4"/></dir><file name="Consumer.php" hash="0312def158a954066ad38a714819ba72"/></dir></dir><dir name="Authorize"><file name="Abstract.php" hash="f353f1ba5541b14e93b2b435aca1b545"/><file name="Button.php" hash="346967facd6467c8b10af56bc79eb306"/><file name="ButtonBaseAbstract.php" hash="16c30c4c11dcca0bb6f881c5caaed97c"/></dir><file name="Authorize.php" hash="f97e5456556525395dee90320c4436ad"/><file name="AuthorizeBaseAbstract.php" hash="a465b5fb6fb39b657966057c6ccff3b9"/><dir name="Customer"><dir name="Token"><file name="List.php" hash="3ffbb0ed0553620eb7f3fbe6e9016599"/></dir></dir></dir><file name="Exception.php" hash="f4e95c4ab7bad97ff9577d33ec4ab39a"/><dir name="Helper"><file name="Data.php" hash="9ad92655975ce86bb2df598306c7ea4b"/></dir><dir name="Model"><dir name="Consumer"><dir name="Validator"><file name="KeyLength.php" hash="b4b6e8060e7d3e294f7901dc35725f49"/></dir></dir><file name="Consumer.php" hash="e25d96d06e6d8da85bf5682c52fe9c5c"/><file name="Nonce.php" hash="9769e90a4ed04e55aa61e6d4d2dc36a2"/><file name="Observer.php" hash="c74d4927d19fbddac91433efd6922bd7"/><dir name="Resource"><dir name="Consumer"><file name="Collection.php" hash="71ba2fcde335893d300a9eabcd00c837"/></dir><file name="Consumer.php" hash="fef2c17117346cdbda4a13ad1d76b398"/><dir name="Nonce"><file name="Collection.php" hash="cf540be396de9075c3faad12a0f185a7"/></dir><file name="Nonce.php" hash="1aa04099dd8af352a53941355cb637e6"/><file name="Setup.php" hash="f4e3e2147d0f2a707ba7626f64174fcb"/><dir name="Token"><file name="Collection.php" hash="9b7d966bb3eb546bca3e02e6ad926ec6"/></dir><file name="Token.php" hash="d68c2670ee4466f74bef021fd8d1d2fe"/></dir><file name="Server.php" hash="63f08a68e9bf28bcfcf21f99190092f6"/><file name="Token.php" hash="a514038f9060a508704578c4fc7687de"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Oauth"><dir name="Admin"><file name="TokenController.php" hash="8e468113385b7a74e3839dad6c498876"/></dir><file name="AuthorizeController.php" hash="7f7733f394041f5a87571c5a8299d740"/><file name="AuthorizedTokensController.php" hash="bcbce949721b421810bde10f13a8908d"/><file name="ConsumerController.php" hash="d65a605940f42aa8ff904d0e1a15017e"/></dir></dir><file name="AuthorizeController.php" hash="911adff8b475a3da8a22adc711522c45"/><dir name="Customer"><file name="TokenController.php" hash="927ebd85e7a1c2f4d131169e4d07ab5e"/></dir><file name="InitiateController.php" hash="a1313c0315c9cf39f182b096013c3600"/><file name="TokenController.php" hash="d823cd1d366e521328961389696e6d76"/></dir><dir name="etc"><file name="adminhtml.xml" hash="14e19f6615abc0e1fa1ad599784fbd1f"/><file name="config.xml" hash="6e8262e104995201cdf1364b6f8ade1d"/><file name="system.xml" hash="6e56da8ad6bcd25048783b50946a8ee2"/></dir><dir name="sql"><dir name="oauth_setup"><file name="install-1.0.0.0.php" hash="1a04a4872f35972c93888c4ac6a3877f"/></dir></dir></dir><dir name="Page"><dir name="Block"><dir name="Html"><file name="Breadcrumbs.php" hash="76af1c2d62a351333dcf0d5b08fec99f"/><file name="CookieNotice.php" hash="d99d2a80b967fbe83f55f23ad52becb2"/><file name="Footer.php" hash="ff6f73f6b42e113499ae3b3064bb430f"/><file name="Head.php" hash="f1ec3c20a89e408bfda4d199b608800f"/><file name="Header.php" hash="b5796cf01cabb982036e16b31c3d802a"/><file name="Notices.php" hash="d73e9b23a0554aa17d65dc9fe9a41f8b"/><file name="Pager.php" hash="cb7e6e7f110b4aae632f042992f13dea"/><file name="Toplinks.php" hash="0ca598406370b7c20b701e1503de60c2"/><dir name="Topmenu"><file name="Renderer.php" hash="c7820b31bfc7f45f214e0443889ef1f9"/></dir><file name="Topmenu.php" hash="d6038fa18c19d3a1790783f1a1cdfc34"/><file name="Welcome.php" hash="e29f11ee527cf91312c1df7a1169a3ec"/><file name="Wrapper.php" hash="728d2084b2ca0112b9d19d3621f376f3"/></dir><file name="Html.php" hash="fb9c260b36a23840c073ee9a8767e994"/><dir name="Js"><file name="Cookie.php" hash="9c3b30a237707c39b54125be0c6c8b95"/><file name="Translate.php" hash="7b301f7fdc537ae8845db32933577ba7"/></dir><file name="Redirect.php" hash="9743b0e148b44690057ce8aef91c32f1"/><file name="Switch.php" hash="2813eb1fcc51fbd521f62ca8841b2503"/><dir name="Template"><file name="Container.php" hash="a47ca180b7c5fe949b77ab548a148a7a"/><dir name="Links"><file name="Block.php" hash="7a36747c24374c252232ae00d1e07e4b"/></dir><file name="Links.php" hash="209d295ad695628faf975c1366e3f70d"/></dir></dir><dir name="Helper"><file name="Data.php" hash="b3237bb0b644e30e9de83668c2c57f75"/><file name="Html.php" hash="d50c1710bf6ac9bd53637016c514736b"/><file name="Layout.php" hash="b2ab663e18bb1617a8c520b0ff87e03c"/></dir><dir name="Model"><file name="Config.php" hash="ce257767900549bccb75fbac14b14b0b"/><dir name="Source"><file name="Layout.php" hash="498643f03bf27d411a95c1885970b4cb"/></dir></dir><dir name="etc"><file name="config.xml" hash="1e437f497da55c56e92332739548ffd6"/><file name="system.xml" hash="35f4c6faed23af9b665de3933c674820"/></dir></dir><dir name="PageCache"><dir name="Block"><dir name="Adminhtml"><dir name="Cache"><file name="Additional.php" hash="3dba80fb53e5a4e05ab038242a5062a6"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="82b38eb4d6f3326dced9558236f05b84"/></dir><dir name="Model"><dir name="Control"><file name="Interface.php" hash="32465287fd5ad49a5373b2f49c6d7787"/><file name="Zend.php" hash="ae15c24b95b8a22abb718c2615d1501a"/></dir><file name="Observer.php" hash="1cc8787360b74db204bc992a9961a810"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Controls.php" hash="da7eb2b87b1c384efa2acab229a831e0"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="PageCacheController.php" hash="8253cb13731f25fdc7054db569def5de"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="cf82072d1f673dd4f2cb8298d944b06a"/><file name="config.xml" hash="c4fc5364d36f687cf8ae0c9ebfcd5d07"/><file name="system.xml" hash="d8f45c4bac9d0d1f705c6bcd46c2ca57"/></dir></dir><dir name="Paygate"><dir name="Block"><dir name="Authorizenet"><dir name="Form"><file name="Cc.php" hash="3a748028fe3f5b5d5f066c448f419fba"/></dir><dir name="Info"><file name="Cc.php" hash="a78355ba5a73bc8f26fccf2373cc2ae9"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="e9561c30aa2df8e942f466c827656736"/></dir><dir name="Model"><dir name="Authorizenet"><file name="Cards.php" hash="668c87965a89ec7ad2aa5fd30cdc4ca3"/><file name="Debug.php" hash="8618355606cd3814e802dc10c700b41c"/><file name="Request.php" hash="c1f4b4089359478b40a1b6a9e23351c2"/><file name="Result.php" hash="bf8a7bbce2821c12d49cbf7984d23b99"/><dir name="Source"><file name="Cctype.php" hash="71c90de1db4b2238bc322349f070730c"/><file name="PaymentAction.php" hash="83e8c00869bf0234049555f0f22c8ebe"/></dir></dir><file name="Authorizenet.php" hash="4459a6e01fb54bc355e7246f9fbcdf44"/><dir name="Mysql4"><dir name="Authorizenet"><dir name="Debug"><file name="Collection.php" hash="213ce4998f43bc900c8df45cfd5100a3"/></dir><file name="Debug.php" hash="b25abe86de7da9d31b0e6e2fbebca46e"/></dir></dir><dir name="Resource"><dir name="Authorizenet"><dir name="Debug"><file name="Collection.php" hash="96579efd296c9747bc69ddb93563c7c7"/></dir><file name="Debug.php" hash="8b16f0e8c62f27c974a630174b445e9e"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Paygate"><dir name="Authorizenet"><file name="PaymentController.php" hash="0786c25427d18f4c42d7e0dbeeecce44"/></dir></dir></dir><dir name="Authorizenet"><file name="PaymentController.php" hash="cba52139f51e9c6036da7a9d43000559"/></dir></dir><dir name="etc"><file name="config.xml" hash="7d9c108a4f7461e38e453595ae99e166"/><file name="system.xml" hash="4c7ad997873f413974b8d7acda17fe00"/></dir><dir name="sql"><dir name="paygate_setup"><file name="install-1.6.0.0.php" hash="b42125deb1bb3e94a0b964bce550a2db"/><file name="mysql4-data-upgrade-0.7.0-0.7.1.php" hash="4f22fe3689b223adc5818e70691f671c"/><file name="mysql4-install-0.7.0.php" hash="3e2e04f85dfdf7b9fa7697904035e86e"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="48c76ca9ce36054b194288542f4bbd25"/></dir></dir></dir><dir name="Payment"><dir name="Block"><dir name="Catalog"><dir name="Product"><dir name="View"><file name="Profile.php" hash="4cbf4eb8350c8a40f01970c7960122de"/></dir></dir></dir><dir name="Form"><file name="Banktransfer.php" hash="ca8b755ddb73aeb8b2f35b9f75338a0f"/><file name="Cashondelivery.php" hash="ff169ed043cc386faf01e8fe15bf3022"/><file name="Cc.php" hash="2389f3a83069e0643b4e750ba4e8e44f"/><file name="Ccsave.php" hash="5ff8d24e9e6a4297b8e4f687368da407"/><file name="Checkmo.php" hash="bdc8bb2c6ba10b7e9957e8e521e90c12"/><file name="Container.php" hash="cec07bf2ca7b4b2bb3a0baa0ffb9f2c1"/><file name="Purchaseorder.php" hash="137da51f5fde7f115c2a85a5b36990a4"/></dir><file name="Form.php" hash="dd368566c7eb6919ad947e78cbe1859e"/><dir name="Info"><file name="Banktransfer.php" hash="ecf02d9d5721675e2975d7dfec284403"/><file name="Cc.php" hash="99dc5f4df2287ab2c22bdc58542f074b"/><file name="Ccsave.php" hash="082a31b849bbb55a59190e02893a75d5"/><file name="Checkmo.php" hash="b0446cc68a1a3ba9f2e03905e77d6eb8"/><file name="Container.php" hash="2ee3f38b5cd1f6fa43b95a858d921708"/><file name="Purchaseorder.php" hash="0fe351afef830b891f9bfb105c44d030"/></dir><file name="Info.php" hash="f71e6f15698f402e9189ca9e5bc670b4"/></dir><file name="Exception.php" hash="beb2d8551ade49853e5437659b614c6c"/><dir name="Helper"><file name="Data.php" hash="7b268b8060a3e70aa39971ef7258a253"/></dir><dir name="Model"><dir name="Billing"><dir name="Agreement"><file name="MethodInterface.php" hash="424553e9cc4fe2fa6befb6401bcf1006"/></dir><file name="AgreementAbstract.php" hash="4043c168c28cfb9a86f15bdde1aa4f33"/></dir><file name="Config.php" hash="195db58e611647682704767e965799e9"/><dir name="Info"><file name="Exception.php" hash="fc52e6ca869415f8a26d7f36a5752f60"/></dir><file name="Info.php" hash="38f6883ca27e92501ca87f8c5310c983"/><dir name="Method"><file name="Abstract.php" hash="7fcbd59cc63e90c83a8ac304b21fb959"/><file name="Banktransfer.php" hash="fb540e43ac0f7fd3bd1635e4762fdbd4"/><file name="Cashondelivery.php" hash="b09ee08f6805fbef82daed86b26548d4"/><file name="Cc.php" hash="d03d57e9fb50fd58e633a17dc5a36c8f"/><file name="Ccsave.php" hash="6df7df82d30724aacb47c6447cb1fcac"/><file name="Checkmo.php" hash="20737ca73dc12889ac107605ec7d27ca"/><file name="Free.php" hash="0b771056ddecea00184fe0c141550e47"/><file name="Purchaseorder.php" hash="a7b2b57eb818f50e3508c7838ad211be"/></dir><file name="Observer.php" hash="d6337e367754f1da2328f9907c9a17e6"/><dir name="Paygate"><file name="Request.php" hash="86a6803dfe434c5d7afc2fd7b27cc3db"/><file name="Result.php" hash="4f715aa54c36a891099828332fc68aee"/></dir><dir name="Recurring"><dir name="Profile"><file name="MethodInterface.php" hash="d434add969bedb69762a5be4866f54d3"/></dir><file name="Profile.php" hash="f07c2863b3b89472e76678fca27cdf0c"/></dir><dir name="Source"><file name="Cctype.php" hash="8941383914fc870894a525c394311e10"/><file name="Invoice.php" hash="bbb8f9293ea7928c47007f7c05066b63"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="7a5adf8c1263e48cf2f9071c5195ee2a"/><file name="config.xml" hash="74b9d5cb7149617310b34c1f59542126"/><file name="system.xml" hash="adcf3b2b91219f1f5526b0f70849f65c"/></dir></dir><dir name="Paypal"><dir name="Block"><dir name="Adminhtml"><dir name="Settlement"><dir name="Details"><file name="Form.php" hash="7a5470652fc38ab2c5918a16becdf54f"/></dir><file name="Details.php" hash="49132e87516ed2cd05aa80f7a4afbcb2"/><dir name="Report"><file name="Grid.php" hash="3e6dda1e1a4aadbd6007772f17cd35dc"/></dir><file name="Report.php" hash="c3104724d674c1317dc23146436dc33e"/></dir><dir name="System"><dir name="Config"><file name="ApiWizard.php" hash="237edd4428f23a4d0824161159031907"/><file name="BmlApiWizard.php" hash="0d02c63e9dcd5d8f92abbf6a7435e9d2"/><dir name="Field"><file name="Country.php" hash="194bfb6c4fd11f9eedaa2df850a243ba"/><file name="Hidden.php" hash="fc1085a05c3570cc1345d82bc6f46153"/><file name="SolutionType.php" hash="c199b755054bed63b98bcfe870ee24c3"/></dir><dir name="Fieldset"><file name="Deprecated.php" hash="75ccac6c4a42d1d89bd4453afc5d7936"/><file name="Expanded.php" hash="f6979eb0dec53d903b255cb81fa64e7d"/><file name="Global.php" hash="b243db32fddae60eda87b9cf8615983d"/><file name="Group.php" hash="8fc7543ec871e4bc58965ec050f19f9d"/><file name="Hint.php" hash="849288a88f8ecff4c66bd9b7f39f5f73"/><file name="Location.php" hash="6bed7b43656d2201e15fed7c4ee91372"/><file name="PathDependent.php" hash="e4a8685376fa5318336d2285b727cb6d"/><file name="Payment.php" hash="202f147418cb85a3d895f96b76eeb412"/><file name="Store.php" hash="8cf7dfe2261b400034ab9e8d45b31e49"/></dir><dir name="Payflowlink"><file name="Advanced.php" hash="dbb8abc9fc791cd9e4f9d8b0db1a5799"/><file name="Info.php" hash="0b570584ebe08a45704445fb84b7e64d"/></dir></dir></dir></dir><dir name="Bml"><file name="Banners.php" hash="9ce71c3a54451fd06f8a58d6dfa94774"/><file name="Form.php" hash="8861e608e012ad0d129cbaacce543fa4"/></dir><dir name="Express"><file name="Form.php" hash="2dfe96f6ec89fa9cc6efba0d71efcb27"/><dir name="Review"><file name="Billing.php" hash="f87c07fbe423ba3cfbae38b0359f8e9d"/><file name="Details.php" hash="41e9c8426c47365611cfdd8c2cba6537"/><file name="Shipping.php" hash="87ab76371ff5d8cf3cff2adf2d864347"/></dir><file name="Review.php" hash="1b9840c465a17813701faf8c4307315f"/><file name="Shortcut.php" hash="fd29062b729328ca291f45c5ad541773"/></dir><dir name="Hosted"><dir name="Pro"><file name="Form.php" hash="fb0a5f67251cc199cd8ce40b4e543003"/><file name="Iframe.php" hash="6ad033d68b559ae0eeb0f4ce580368aa"/><file name="Info.php" hash="88de1e67a4cf09a19b18db35594e2f83"/></dir></dir><file name="Iframe.php" hash="130b950fb3db789617577e253f44d0d4"/><file name="Logo.php" hash="01ad9e06cf747d11e56fb1232191fa97"/><dir name="Payflow"><dir name="Advanced"><file name="Form.php" hash="e27e11120227c4317975d53d6ec87a07"/><file name="Iframe.php" hash="dbdcf942fcca65ce33275ec2546c4cfc"/><file name="Info.php" hash="c653c07418e1b95851a35dfa6167c703"/><file name="Review.php" hash="fc88e4f21988be8c6df7d6061c305c40"/></dir><dir name="Link"><file name="Form.php" hash="3aa3d74747d840e18d4573e68c7a7986"/><file name="Iframe.php" hash="da1e91b2b849623f4b12bd7f64bcbd04"/><file name="Info.php" hash="a0870dd47d4228d2d425e4a3f5f27f2e"/><file name="Review.php" hash="13c8891d5e0cefda15c57b6e402bf6ff"/></dir></dir><dir name="Payment"><file name="Info.php" hash="7f2d80e99718b0c94a08347d73a64da4"/></dir><dir name="Standard"><file name="Form.php" hash="d4bd08c533fe4c4db3daab3bf9360860"/><file name="Redirect.php" hash="36d3646e7d3e4013847ff219e3f9e3db"/></dir></dir><dir name="Controller"><dir name="Express"><file name="Abstract.php" hash="4695d1fac56793866c282316b3d33917"/></dir></dir><file name="Exception.php" hash="7dee8f2f62ac73a1c4e25b12fb85a3fb"/><dir name="Helper"><file name="Checkout.php" hash="f71e0d44157c5c7c710f768317a418b0"/><file name="Data.php" hash="0e4a617f7985832bca600b52de577278"/><file name="Hss.php" hash="1643e958dd97f7b024e5412d82e0de3c"/></dir><dir name="Model"><dir name="Api"><file name="Abstract.php" hash="5c289e9731993409f86cee3b2919f4a8"/><file name="Nvp.php" hash="048397ce1e613a1481613a09b79e3c02"/><file name="ProcessableException.php" hash="4313e637008571be2bd2d86f6a560112"/><file name="Standard.php" hash="986fd1dec22bc55cb84ecf75c7bc3729"/></dir><file name="Bml.php" hash="ac3c55752b8eb272c9481fc11521bb0b"/><file name="Cart.php" hash="d6979cb0fe3174d7d70bbf26474b3a16"/><file name="Cert.php" hash="8b23417ca6e231a0ec8f89a6e769f01e"/><file name="Config.php" hash="d356e412f4eca6207004674303791ad6"/><file name="Direct.php" hash="04692b3598ead300783c59dc664e5ad5"/><dir name="Express"><file name="Checkout.php" hash="dc1c4a7086ed6df59c5513e9b3b15e11"/></dir><file name="Express.php" hash="553e93873ac88d39e98b5a01ef0e26f2"/><dir name="Hostedpro"><file name="Request.php" hash="4aaa99812f8ba31c0e2aee9c18d68671"/></dir><file name="Hostedpro.php" hash="14ae27c0f8a9d9c2ec1525ec9b06be7c"/><file name="Info.php" hash="31e9a1d2d63b0d826079a4c74a4779d2"/><file name="Ipn.php" hash="5a216c988a5b749bcda0bf0acba621c7"/><dir name="Method"><file name="Agreement.php" hash="c24473819dda2b2d6d6ff3dcc8f66b46"/></dir><dir name="Mysql4"><file name="Cert.php" hash="e873d71130a68719913fd5d2cc5cde98"/><dir name="Report"><dir name="Settlement"><dir name="Row"><file name="Collection.php" hash="e91f7ac5962615e0bd88ad266397f351"/></dir><file name="Row.php" hash="546eca3d90673785045eed293e0eacb3"/></dir><file name="Settlement.php" hash="1fb1b95e74a309c82098aa33267dddf2"/></dir><file name="Setup.php" hash="25c05eab1013655aa210df9db8b24e5a"/></dir><file name="Observer.php" hash="425f8814bb8c74fec03ae794960341ae"/><dir name="Payflow"><file name="Request.php" hash="4e6e0e5b184f618e00f58a193f9947c8"/></dir><file name="Payflowadvanced.php" hash="2d03cd17c394c87dd24eaedb15099df0"/><file name="Payflowlink.php" hash="7a4d9c3add43af18a085145abb7f947f"/><file name="Payflowpro.php" hash="ea5729b6eecc3703ffa5870a490a4b26"/><dir name="Payment"><file name="Transaction.php" hash="6b591f640c751a19076203c300387493"/></dir><file name="Pro.php" hash="50866ddf07601f6f95600cbe36fbf789"/><dir name="Report"><dir name="Settlement"><file name="Row.php" hash="e8ce793bd31bfdbb335e5b7c88ee6481"/></dir><file name="Settlement.php" hash="bf873501e3ec1dc391091857c29f129b"/></dir><dir name="Resource"><file name="Cert.php" hash="47acda02c8bb5253aec7806152a21256"/><dir name="Payment"><dir name="Transaction"><file name="Collection.php" hash="46c4cbe70814d8248cbcd55914aa4760"/></dir><file name="Transaction.php" hash="69e92d4f119da07ae7afb02c5386daa7"/></dir><dir name="Report"><dir name="Settlement"><dir name="Row"><file name="Collection.php" hash="5e2ad46cf5c7c0f5351ba9657f633f17"/></dir><file name="Row.php" hash="3dfbb758901b47830b60f114073004c0"/></dir><file name="Settlement.php" hash="1acdff09f13b0d35b656aec95d6d1c73"/></dir><file name="Setup.php" hash="37c6198a0a0e5daa1deb681b98d81bf5"/></dir><file name="Session.php" hash="afe645f7f8170a396398c7b19ccb6081"/><file name="Standard.php" hash="7765aa2b21914c56a89ee5e620c3e19c"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cert.php" hash="e2e25660cbd04ebca8ecece49b2fd048"/><file name="Cron.php" hash="ef3cc65eee0ceac037efa06c9f183ca1"/><file name="MerchantCountry.php" hash="da78abe736c024ecf6f1ddecaaa63526"/></dir><dir name="Source"><file name="AuthorizationAmounts.php" hash="571d007a29c74c59c744f50d29842543"/><file name="BmlPosition.php" hash="60bbdfda6cd86dda0fe90c9700cf2636"/><file name="BmlSize.php" hash="607c977a8aaafcc229143b82cf430c25"/><file name="BuyerCountry.php" hash="799dde6860e145d7b2433d23728a82f5"/><file name="FetchingSchedule.php" hash="f0e755d7731dfb5a2347bf10301704cb"/><file name="Logo.php" hash="27e65c01c0772b1c0d80dcdef6cc4f5b"/><file name="MerchantCountry.php" hash="6ba3235a1ee581aaf4d6713f36588fb5"/><dir name="PaymentActions"><file name="Express.php" hash="801ace31eab8ee2c6d7c8a7e16d9e6db"/></dir><file name="PaymentActions.php" hash="b5b002fac765911a65902f60f0653be7"/><file name="RequireBillingAddress.php" hash="411ab6c7e05926bcf468abf930537ce7"/><file name="UrlMethod.php" hash="f63d754747653c20805e462c19ea5c7e"/><file name="YesnoShortcut.php" hash="90d03993b09bedefc96ffd9805ed1431"/></dir></dir></dir></dir><file name="UnavailableException.php" hash="6aea3ef7d5c6faa61e7db9f7a0642730"/><dir name="controllers"><dir name="Adminhtml"><dir name="Paypal"><file name="ReportsController.php" hash="8a89aa9cddb18427419f685703580e3a"/></dir></dir><file name="BmlController.php" hash="78af6f6e5e867ca3db8c884c06192719"/><file name="ExpressController.php" hash="7ddeae6fed13f82b047a913bb26db088"/><file name="HostedproController.php" hash="19064da0129b279576087d06be8cf6cc"/><file name="IpnController.php" hash="47cb003f48e69d3e287b734356ddd034"/><file name="PayflowController.php" hash="62adc0e1b8c39a493c9dd6878da1b56b"/><file name="PayflowadvancedController.php" hash="461bd3aa8ea93322a72b54bca8284d29"/><file name="StandardController.php" hash="362883e8f15d465d51ab2968a94e9479"/></dir><dir name="data"><dir name="paypal_setup"><file name="data-install-1.6.0.5.php" hash="059b1d115ed5c3bb2a36a9812d35efcf"/><file name="data-upgrade-1.6.0.2-1.6.0.3.php" hash="46c7aff595df6d6bb6271f9f59517dd6"/><file name="data-upgrade-1.6.0.4-1.6.0.5.php" hash="37291b0a8e2303c570801b2969a82525"/><file name="data-upgrade-1.6.0.5-1.6.0.6.php" hash="fa6c77f9043beff5657041a8ee147306"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="fab4507688b1a9c58c66c03a8d896db3"/><file name="config.xml" hash="34dd5390aea2da6b8879d8d829252eef"/><file name="system.xml" hash="b229ac8bc2bef28008308a1a7e64cd61"/></dir><dir name="sql"><dir name="paypal_setup"><file name="install-1.6.0.0.php" hash="e2a0c2a2016d509249a35bf9a2bc8db7"/><file name="mysql4-install-0.7.0.php" hash="f244a03c132a74f31c9f31f1d94a7546"/><file name="mysql4-install-1.4.0.0.php" hash="5b7b095062586fad639f38e6093510ab"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="42c40b94a3dedfc1626294b4f2ef8c82"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="14ae3790f7806b0a42a5d41cad31c86b"/><file name="mysql4-upgrade-1.4.0.0-1.4.0.1.php" hash="e35cb5cd3389959767a64db45574d84d"/><file name="mysql4-upgrade-1.4.0.1-1.4.0.2.php" hash="29ecb0e7970cb79297902da47cf467ae"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="8e744cbcd04e839ddc7fddaaaa32796c"/><file name="upgrade-1.6.0.0-1.6.0.1.php" hash="5c36c70f4c75b61a1f259022d30b7a4b"/><file name="upgrade-1.6.0.1-1.6.0.2.php" hash="06f5655d0fb454ef38e3789d601222fa"/><file name="upgrade-1.6.0.3-1.6.0.4.php" hash="6b9ddbbf5508514480fa87bbd76ee985"/></dir></dir></dir><dir name="PaypalUk"><dir name="Block"><dir name="Bml"><file name="Form.php" hash="cf1b947ad1c91ba44acedf5decb9a532"/></dir><dir name="Express"><file name="Form.php" hash="f5373e3c537b94289836075f9afb0b51"/><file name="Shortcut.php" hash="b2cdf2c320cd92884fd4abf89faef178"/></dir></dir><dir name="Helper"><file name="Data.php" hash="8e0d1ad6e9324789591fc6239fc3c6ac"/></dir><dir name="Model"><dir name="Api"><dir name="Express"><file name="Nvp.php" hash="64ef2065db009f8abd4648012d824e0c"/></dir><file name="Nvp.php" hash="6af3185466eb67691c2ef46c0a80286b"/></dir><file name="Bml.php" hash="8e3a5e9fe353ea100b3cfe59d230356b"/><file name="Direct.php" hash="be8ed9705207543d515177edabbfb41a"/><dir name="Express"><file name="Checkout.php" hash="953e880327e7656ce8b6beecfe8d8253"/><file name="Pro.php" hash="1e637be10b977f8076cf50afda5d13a3"/></dir><file name="Express.php" hash="5d7be27ca6afc8c62cccccd8c8ce736a"/><file name="Pro.php" hash="5c585f87407ae54513c53d09976832e3"/><file name="Session.php" hash="1b6cb3ba3f1d5c25f5cc39adafb2209b"/></dir><dir name="controllers"><file name="BmlController.php" hash="a0fc8df60f523651cdaecebc60098ece"/><file name="ExpressController.php" hash="784cc6db9289eef6341d1f06690bf54d"/></dir><dir name="etc"><file name="config.xml" hash="04422987a1fa80e48b0139077b8a246a"/></dir><dir name="sql"><dir name="paypaluk_setup"><file name="install-1.6.0.0.php" hash="2cb3e7e5d9b500a7635404f507d868d3"/><file name="mysql4-install-0.7.0.php" hash="740e1532e31f969125a4b91219b9a0c7"/></dir></dir></dir><dir name="Persistent"><dir name="Block"><dir name="Form"><file name="Remember.php" hash="5794677bd73e8be3cfd7fa8f18fdcdd2"/></dir><dir name="Header"><file name="Additional.php" hash="92edbc33bdefc70527d179dd23ef979c"/></dir></dir><dir name="Helper"><file name="Data.php" hash="17656b16d662546d0828b8e4d34faa33"/><file name="Session.php" hash="adcb0096928cea4a896ce70b14087900"/></dir><dir name="Model"><dir name="Observer"><file name="Session.php" hash="5ae73e511745a43fcc752d33931a34a2"/></dir><file name="Observer.php" hash="fe086526a2b481c67c67c5c73ba5da3b"/><dir name="Persistent"><file name="Config.php" hash="38363d104ff0c5d92b7c63439a3fd4f7"/></dir><dir name="Resource"><file name="Session.php" hash="681b6641939e4a7b9625dfc11c2bf2d6"/></dir><file name="Session.php" hash="6e09f7fc7fac22537b251053b9d32ff8"/></dir><dir name="controllers"><file name="IndexController.php" hash="33f033033719d3964c41def44f85663e"/></dir><dir name="etc"><file name="adminhtml.xml" hash="3771392801e23c17826e75a9b25372b4"/><file name="config.xml" hash="eec576f615c067affcadf38c40a715ef"/><file name="persistent.xml" hash="018e1087987582ea2136a1c6431278fe"/><file name="system.xml" hash="f7964f686bd76e24c6a8ee84ecaca430"/></dir><dir name="sql"><dir name="persistent_setup"><file name="install-1.0.0.0.php" hash="89227fe784a684f21323cbb1721fb0d1"/></dir></dir></dir><dir name="Poll"><dir name="Block"><file name="ActivePoll.php" hash="2428695a559f9c0c25a26dc1c6e7cbab"/><file name="Poll.php" hash="fc9c9fdf65cb9dd9ec74cf6c183a0adc"/></dir><dir name="Helper"><file name="Data.php" hash="def7c69cc26cf99246cc730f73e1e3ea"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Poll"><dir name="Answer"><file name="Collection.php" hash="b556c72503481d769f6892645ddf1810"/></dir><file name="Answer.php" hash="1d2520e6b3a8e4950a44df50cb942a27"/><file name="Collection.php" hash="66f3595487040e11e6ea00ee45a99b2f"/><file name="Vote.php" hash="a55849069d7fcccd99c2eac27c138591"/></dir><file name="Poll.php" hash="46b968aa2732df14f122b2f1f166fd02"/></dir><dir name="Poll"><file name="Answer.php" hash="2182f29b3b65a58dfd3562a1383dec50"/><file name="Vote.php" hash="1220c89848a6472a8d42b4c6be4fe6ca"/></dir><file name="Poll.php" hash="37200d119b6de58337a6a818ccdca25a"/><dir name="Resource"><dir name="Poll"><dir name="Answer"><file name="Collection.php" hash="7bc645da37afa74785cefa000c4b5497"/></dir><file name="Answer.php" hash="05e9e5d2f19cbce8b84bca05a0b63134"/><file name="Collection.php" hash="cc923a4031b6cd1b568c42d2e8f6f0b4"/><file name="Vote.php" hash="c80497ea204f0e14e54b731f3bdf45e7"/></dir><file name="Poll.php" hash="df6d9f88b6fa3074fbaaf897c610e458"/></dir></dir><dir name="controllers"><file name="VoteController.php" hash="54d64a155fe9582cce3dee023a63f5fc"/></dir><dir name="data"><dir name="poll_setup"><file name="data-install-1.6.0.0.php" hash="e4f42b9770bdb857a581a15e3adf5d8e"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="0228e6dc8be6b89bc8327d82a72a1cdc"/><file name="config.xml" hash="33db549c84b624056296d3d8d3cff78d"/><file name="system.xml" hash="5d03f833d9d4d358136c279264e7d108"/></dir><dir name="sql"><dir name="poll_setup"><file name="install-1.6.0.0.php" hash="3a73db3ca9bb2c9b0ab4b303fd7efc42"/><file name="mysql4-install-0.7.0.php" hash="190909c1080304cba03e361eadfbaae8"/><file name="mysql4-upgrade-0.6.0-0.6.1.php" hash="d1284367365dc74d3b59e6500ef1ab94"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="41a8c5bb804dda85121b359d0775e4ae"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="20f73e58e91b163f8a0080ceabfc5464"/><file name="mysql4-upgrade-1.6.0.0-1.6.0.1.php" hash="eac1c3f580e97390201b577d83e1a381"/></dir></dir></dir><dir name="ProductAlert"><dir name="Block"><dir name="Email"><file name="Abstract.php" hash="cfa24038551836778d5dac621a40833b"/><file name="Price.php" hash="5da89d1e652e08598a2bac62e63d9b7e"/><file name="Stock.php" hash="28c2abc40aa9fafaddd734f1abc85532"/></dir><file name="Price.php" hash="18c453fb5964d7c50b5209273d38a0f6"/><dir name="Product"><file name="View.php" hash="62b24a700f162f896ae86fa3acc827ea"/></dir><file name="Stock.php" hash="7c004818f1af75d884a62b3016d997fe"/></dir><dir name="Helper"><file name="Data.php" hash="db8a716551468ff9c77f8fc6c9db7310"/></dir><dir name="Model"><file name="Email.php" hash="4790a3c20b28cba3edd90cae78b278e7"/><dir name="Mysql4"><dir name="Price"><file name="Collection.php" hash="85751f5b1a72f6bcd11b3805e63a5005"/><dir name="Customer"><file name="Collection.php" hash="369d078510d7947c732b5b86ddc95f85"/></dir></dir><file name="Price.php" hash="b384a5f9340ad848799a3fdb88701de8"/><dir name="Stock"><file name="Collection.php" hash="dfcbbe2f7b29139801339b994332249f"/><dir name="Customer"><file name="Collection.php" hash="fc817bc79bc6ec62806321a9031babc8"/></dir></dir><file name="Stock.php" hash="2d0c857d0505931e417d13a425832d6f"/></dir><file name="Observer.php" hash="c0ce37fc22caf339bfe7368f1a75f5d0"/><file name="Price.php" hash="a8adb5a314d448f412f3be2851dbe2de"/><dir name="Resource"><file name="Abstract.php" hash="5e7b69574dc2ebb59b40ab7d2c9c0765"/><dir name="Price"><file name="Collection.php" hash="75de0797acab577891d55918d8226759"/><dir name="Customer"><file name="Collection.php" hash="90a486c8338befca41ba91bfe2bac212"/></dir></dir><file name="Price.php" hash="8eae6baeeb33c29fd4d20072f7f4b03d"/><dir name="Stock"><file name="Collection.php" hash="d370c2841d6c2db3265daad7df79d778"/><dir name="Customer"><file name="Collection.php" hash="586ebf48b4e6ea50b0dab75098d16d22"/></dir></dir><file name="Stock.php" hash="179ee6e99b0d9e0fc99ee65b21e2aa3b"/></dir><file name="Stock.php" hash="86899d6412c3c20d203dcbb8a9231793"/></dir><dir name="controllers"><file name="AddController.php" hash="b6c15fa6c403080d42dec29983d01cf1"/><file name="UnsubscribeController.php" hash="0aa60cf7437c64b7c5dc61832a2efe81"/></dir><dir name="etc"><file name="config.xml" hash="2b33af987fffc0ae9e01d72165ba9afc"/><file name="system.xml" hash="bae0a5263513a3a35c1a22562c13352e"/></dir><dir name="sql"><dir name="productalert_setup"><file name="install-1.6.0.0.php" hash="9aa79e33fcec15e95743593fe59f2390"/><file name="mysql4-install-0.7.0.php" hash="f7a08cbc249da6a74f3d0c481e0d6efc"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="15c96f77d2d484c064e62a386f724e8d"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="746880502eae6875f53f55caf018d77b"/></dir></dir></dir><dir name="Rating"><dir name="Block"><dir name="Entity"><file name="Detailed.php" hash="2df366bd9bd76c58c562d5fb2da5adda"/></dir></dir><dir name="Helper"><file name="Data.php" hash="1497a9c555ed61310cd363e73452fe75"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Rating"><file name="Collection.php" hash="2be82e08c380c2d374621537c6aedb6a"/><file name="Entity.php" hash="e88daac6bdd143fae6da93dd9f8a2225"/><dir name="Option"><file name="Collection.php" hash="6835bedd300a506b5a76d690bfbfce9e"/><dir name="Vote"><file name="Collection.php" hash="a74f8e93bda26728e724e950fed66cc8"/></dir><file name="Vote.php" hash="70276c04262057ed0eb51f525059748c"/></dir><file name="Option.php" hash="9abfbec461869fce3347fff5ef85099a"/></dir><file name="Rating.php" hash="be6495cad8183742287e84fc56330d00"/></dir><file name="Observer.php" hash="333fa3beea2acdf12fe82bc58db879ee"/><dir name="Rating"><file name="Entity.php" hash="0eaa3be9aae9e66598cab8864411d45a"/><dir name="Option"><file name="Vote.php" hash="e27da11404c974828d3528345136801c"/></dir><file name="Option.php" hash="f02069ffffe0e1329c01f8e6f077b138"/></dir><file name="Rating.php" hash="13ce1479793c6ac4f91da72a7194eb33"/><dir name="Resource"><dir name="Rating"><file name="Collection.php" hash="c534ff40ef290d3c56f0af910c449e92"/><file name="Entity.php" hash="f5afaed9e816eec3166f691359325ddb"/><dir name="Option"><file name="Collection.php" hash="eccb091c85da3a34940054e6f073269b"/><dir name="Vote"><file name="Collection.php" hash="2014d6044a2a65690955b76af44f897d"/></dir><file name="Vote.php" hash="a7571a7766ef8122df604b33c4fa6ec7"/></dir><file name="Option.php" hash="dafba3671508ceb3638a1a43c8608416"/></dir><file name="Rating.php" hash="ed7239eaea66379e5591f23b066572d9"/></dir></dir><dir name="data"><dir name="rating_setup"><file name="data-install-1.6.0.0.php" hash="d4498d6f3949264bdeb41786e9b819f7"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="951372191ab682aa0294141c8f909b2a"/><file name="config.xml" hash="5e9779ebe932f8568cbf2a0cd694894f"/></dir><dir name="sql"><dir name="rating_setup"><file name="install-1.6.0.0.php" hash="dff36c635b4f390d57bef9960ab61450"/><file name="mysql4-install-0.7.0.php" hash="43da7f53e940b3228d61b3b7e4ea8d86"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="878afa7015bc930899fcd00dd55c2e78"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="b8adde02281d654b07f01569fc6cef40"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="85860ce2789eb87b9d121ef77aadadc6"/><file name="mysql4-upgrade-1.6.0.0-1.6.0.1.php" hash="e289d6dc315380df36bb514f3fafb664"/></dir></dir></dir><dir name="Reports"><dir name="Block"><dir name="Product"><file name="Abstract.php" hash="578257203342bebb0d973e20bf424237"/><file name="Compared.php" hash="8c76e6f2101f15f09c72ad0dc7ce70e6"/><file name="Viewed.php" hash="b20d015e5507cb98a8cf924c782d865c"/><dir name="Widget"><file name="Compared.php" hash="e8d9c4dd37391851667bf377fdaf403b"/><file name="Viewed.php" hash="553c388ee11f7e5181ed22936af26e7e"/></dir></dir></dir><file name="Exception.php" hash="617108bc39f17464f0884bc9269a5256"/><dir name="Helper"><file name="Data.php" hash="57200f54d3da931422d6a8c586532022"/></dir><dir name="Model"><file name="Config.php" hash="f96b39428330ca93965b3209071e4ed9"/><dir name="Event"><file name="Observer.php" hash="c12b50f301025d0fa06d7de61941393a"/><file name="Type.php" hash="cf0f1c1d1f3b510644798c27a17c9b97"/></dir><file name="Event.php" hash="34aceecd3f214f6aba29668554411b04"/><file name="Flag.php" hash="2e4623f20e42f90f25f7f6cc60ad7f1f"/><dir name="Grouped"><file name="Collection.php" hash="5efbafd7b095ab116892abcd060c847d"/></dir><dir name="Mysql4"><dir name="Accounts"><file name="Collection.php" hash="0cd8c4e2b3f59fd776d56243e5d62ced"/></dir><dir name="Coupons"><file name="Collection.php" hash="612aaff421905d73df9243358ca05438"/></dir><dir name="Customer"><file name="Collection.php" hash="033c927182b930e159a21282f1ed7f47"/><dir name="Orders"><file name="Collection.php" hash="84fa52e616801dddd7a27b80504a06dd"/></dir><dir name="Totals"><file name="Collection.php" hash="675557cf33c7a70a8be723be30ba4b9a"/></dir></dir><dir name="Entity"><dir name="Summary"><dir name="Collection"><file name="Abstract.php" hash="bdd85eef6cac58409adc3964ae6cf6c2"/></dir></dir></dir><dir name="Event"><file name="Collection.php" hash="d9e615045a5a035931d317905d76f724"/><dir name="Type"><file name="Collection.php" hash="d53a6f31cdaaa4d32b52deeaafcff1f9"/></dir><file name="Type.php" hash="c345412280dfb442121e3602d8b16764"/></dir><file name="Event.php" hash="e72c63316342488accdeb68d11ab70cb"/><dir name="Invoiced"><file name="Collection.php" hash="4d06a58ba94a9c755f93eaefdb6a3a08"/></dir><dir name="Order"><file name="Collection.php" hash="8d2cba8be937acd70e3aca7db9306abb"/></dir><dir name="Product"><file name="Collection.php" hash="ace029a821d771876e671d46f27e60f4"/><dir name="Downloads"><file name="Collection.php" hash="83f9551343cb00586e03a255c32f1b0a"/></dir><dir name="Index"><file name="Abstract.php" hash="25a6163346a75c1e40cc35ef5c506d24"/><dir name="Collection"><file name="Abstract.php" hash="80a7c9a2fbb2dea4d3139971fc508775"/></dir><dir name="Compared"><file name="Collection.php" hash="de0ce45c836245949ea314f638f21632"/></dir><file name="Compared.php" hash="5d89a2b48b220c7c918f78619160f357"/><dir name="Viewed"><file name="Collection.php" hash="a7c3fd32783500207532d248397ea6d6"/></dir><file name="Viewed.php" hash="e7e3bd541dc11358384591075276dfad"/></dir><dir name="Lowstock"><file name="Collection.php" hash="c311fead7cef2a26b87aecc38aadcc3a"/></dir><dir name="Ordered"><file name="Collection.php" hash="ef8ebad26866118a380433333ce47380"/></dir><dir name="Sold"><file name="Collection.php" hash="94ad564ef224cfa524a51d726a33a978"/></dir><dir name="Viewed"><file name="Collection.php" hash="e278a7c870b0a6ee0d0f5671814d8f94"/></dir></dir><dir name="Quote"><file name="Collection.php" hash="fd4b4c28b862298c3b4b04f573241d17"/></dir><dir name="Refunded"><file name="Collection.php" hash="64990addecffaa1d86bc02d3b2981d9f"/></dir><dir name="Report"><file name="Abstract.php" hash="663e9bb9143398dac8d11132390756d4"/><file name="Collection.php" hash="e64ec700bfb2a1f7d728ebd94fc93b71"/></dir><dir name="Review"><file name="Collection.php" hash="6efb24b1edfaf5800256b3080a3ebf7b"/><dir name="Customer"><file name="Collection.php" hash="7100d4c24e90087a0c86956d557392d3"/></dir><dir name="Product"><file name="Collection.php" hash="fd7249e0d7f7926c7bdf6ea2816f10cc"/></dir></dir><dir name="Shipping"><file name="Collection.php" hash="b03601cb3818a005278584a09333481e"/></dir><dir name="Shopcart"><dir name="Product"><file name="Collection.php" hash="19308938fe4f69eb9da330687a4d2cd2"/></dir></dir><dir name="Tag"><file name="Collection.php" hash="8cc1e1483ce042ba13eceb2809f4653f"/><dir name="Customer"><file name="Collection.php" hash="27db3ccb1682c57477a953bc31ddcd0e"/></dir><dir name="Product"><file name="Collection.php" hash="c955864f76538d1cf5aaed5dd0a76aef"/></dir></dir><dir name="Tax"><file name="Collection.php" hash="42c124a9f1536dfd0f5025b5e078aa63"/></dir><dir name="Wishlist"><file name="Collection.php" hash="2e72a148c7257bcadc36a0397633cfb2"/><dir name="Product"><file name="Collection.php" hash="aa120dc6a1d5fa2a9ac4f09fe5724e65"/></dir></dir></dir><dir name="Product"><dir name="Index"><file name="Abstract.php" hash="30ee1f44839a150a2e031c9aece97d30"/><file name="Compared.php" hash="f82383db41fd5055301154a2d0d700bd"/><file name="Viewed.php" hash="4fac7d613ac53411b39c4d003b04e4ae"/></dir></dir><file name="Report.php" hash="68fc1cd405bb41b8e1b04750b1bc7360"/><dir name="Resource"><dir name="Accounts"><file name="Collection.php" hash="fee03c893f5e04633b0b2082fe9e2ef0"/></dir><dir name="Coupons"><file name="Collection.php" hash="574b5b8dd40aa8b21bc7c10eb1381a72"/></dir><dir name="Customer"><file name="Collection.php" hash="3a8028e41a4a57ba87ef84e571cfe3f1"/><dir name="Orders"><file name="Collection.php" hash="fe5f4e7053223edbd5e0fc165b589b63"/></dir><dir name="Totals"><file name="Collection.php" hash="e4bb6c1e9d11ed44a25b500eab9f3522"/></dir></dir><dir name="Entity"><dir name="Summary"><dir name="Collection"><file name="Abstract.php" hash="659c86a44c2fc759f57445735549462d"/></dir></dir></dir><dir name="Event"><file name="Collection.php" hash="e580c833e0f97a3e184f22eec5b37126"/><dir name="Type"><file name="Collection.php" hash="ec8bc58faba0544ea3850b0903a8aa48"/></dir><file name="Type.php" hash="85714e6c137da8bd4549665a0cbe4e2f"/></dir><file name="Event.php" hash="4317ab0d3b4535f48da744f344275648"/><dir name="Helper"><file name="Interface.php" hash="81dc8c30550774a7adac91a70dd54bf6"/><file name="Mysql4.php" hash="a9f7f9d0ea90d69187f61a3d540c1f95"/></dir><dir name="Invoiced"><file name="Collection.php" hash="d0f04c9ed71b3aca95d9565a580cec0b"/></dir><dir name="Order"><file name="Collection.php" hash="a1bd2a47354577ad6b721cf64839ddbd"/></dir><dir name="Product"><file name="Collection.php" hash="ac4f87d98924f8894a58e37f0f8df435"/><dir name="Downloads"><file name="Collection.php" hash="1cf51bea3e7c8ea4eb767c75d4694676"/></dir><dir name="Index"><file name="Abstract.php" hash="90d75ed2b95b7bf9cf2139a5d396bfb6"/><dir name="Collection"><file name="Abstract.php" hash="717d1cd42e5335c877a17be8730ea870"/></dir><dir name="Compared"><file name="Collection.php" hash="1eb2cb2f7bac8b19c640daa25b617234"/></dir><file name="Compared.php" hash="939443ab1103343f51bea61016b4d27b"/><dir name="Viewed"><file name="Collection.php" hash="826efd82bfccd82219fa9b438961b334"/></dir><file name="Viewed.php" hash="d124f494245b2560c6ae0f18983188fd"/></dir><dir name="Lowstock"><file name="Collection.php" hash="22943a8e88ab28cec838fed6c3d80ef4"/></dir><dir name="Ordered"><file name="Collection.php" hash="b7aff86efc7690ae6cc6344ff43f51d1"/></dir><dir name="Sold"><file name="Collection.php" hash="d8593a120fa2a8371c5c4aa0c8a25a0e"/></dir><dir name="Viewed"><file name="Collection.php" hash="5777a50f19b37ee1aae6df0eb082120c"/></dir></dir><dir name="Quote"><file name="Collection.php" hash="1518826f907902ead06c4ba3a9158c0e"/></dir><dir name="Refunded"><file name="Collection.php" hash="edddbd898f30863b840110329631d264"/></dir><dir name="Report"><file name="Abstract.php" hash="e8b84cda293b5925a7d822b2618306b4"/><dir name="Collection"><file name="Abstract.php" hash="be10b98d8158c4e52019091792e8c618"/></dir><file name="Collection.php" hash="cd4deae110bccaaec9ec2f3a3fec14b8"/><dir name="Product"><dir name="Viewed"><file name="Collection.php" hash="7f7ba5b8925ab4f3d54af661861e8819"/></dir><file name="Viewed.php" hash="cc5f49fac0b0b3550e923f7b8eb60d2c"/></dir></dir><dir name="Review"><file name="Collection.php" hash="1e5a8704988f2bc5c0046097032c7dfc"/><dir name="Customer"><file name="Collection.php" hash="f18eb356beb157be4eb37c8af6d8ec8e"/></dir><dir name="Product"><file name="Collection.php" hash="9379e71ecaf6c6bf23faab0bed211058"/></dir></dir><dir name="Shipping"><file name="Collection.php" hash="33d173b19fca8f7c78108c3e9062f5d6"/></dir><dir name="Shopcart"><dir name="Product"><file name="Collection.php" hash="ae0e5190ef686b2d7e8639b474e6a6fd"/></dir></dir><dir name="Tag"><file name="Collection.php" hash="b7359de3cfa026bd219d76f963991a35"/><dir name="Customer"><file name="Collection.php" hash="9b57e619f7aa720f190cbd266c47f1b2"/></dir><dir name="Product"><file name="Collection.php" hash="5a55614f682cb61db52337b2e4898c5f"/></dir></dir><dir name="Tax"><file name="Collection.php" hash="46253868811290d102283fffc76b60c0"/></dir><dir name="Wishlist"><file name="Collection.php" hash="46df78b3756ffda1baff9802f39ca18a"/><dir name="Product"><file name="Collection.php" hash="31aaf993411e2957520b89e9654b0ace"/></dir></dir></dir><file name="Session.php" hash="c913987e12bc3c14a1493078fa0cc7f9"/><file name="Test.php" hash="0393ad68e17f904a7a750901aac16668"/><file name="Totals.php" hash="0c7521b26433f20d43f7cd14c0d44fb5"/></dir><dir name="data"><dir name="reports_setup"><file name="data-install-1.6.0.0.php" hash="e3ff9bb6870eb75e131047d5c3803bf6"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="26e74f9cb9bff0fd18b52184700b8c2b"/><file name="config.xml" hash="6f255f3c6eddc8afb7e9c41ff37f74a0"/><file name="system.xml" hash="5661e56b5032074a0ce9972580c52606"/><file name="widget.xml" hash="205050df167238d66730ee69eaf6f6a7"/></dir><dir name="sql"><dir name="reports_setup"><file name="install-1.6.0.0.php" hash="ed84a64f623472cb570d062f83f0af44"/><file name="mysql4-install-0.7.1.php" hash="726b040c54515d68f09d123770d9028b"/><file name="mysql4-install-1.5.0.0.php" hash="65582d059b8fdf311793143b119f2536"/><file name="mysql4-install-1.6.0.0.php" hash="a87f4f510630a48695e4a18eece61064"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="a19dcddecfbf548fa2e591dbc2ca9810"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="87a2ea5896fed2cdb80dafdfd153ebc5"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="2acc3102db4ca570f17e6c1b863d0866"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="11377f7648ab6f02858afe240a9b43a0"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="c410cb005fc894c9ac889548d7331c23"/><file name="mysql4-upgrade-0.7.5-0.7.7.php" hash="7bf77af57e370205ad5e825388a01f11"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="9e0a0522db37067818ab59c2ad1819e7"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="e7373ad67f1f1da45d98f10e38d6cc90"/><file name="mysql4-upgrade-0.7.9-0.7.10.php" hash="ae5c36c5d517af8cdb9d2162da7a2517"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="d18b4b1e51cce1f465349a0e7e972b31"/><file name="upgrade-1.6.0.0-1.6.0.0.1.php" hash="a64567d3c7c0b712373a85fe8165b616"/></dir></dir></dir><dir name="Review"><dir name="Block"><dir name="Customer"><file name="List.php" hash="688c97060d2bd41c8b34a23e67cd0946"/><file name="Recent.php" hash="80a4cb7d0d03e44540245141ce9087bb"/><file name="View.php" hash="e999f76f350ceac3141c8c5fbe081f14"/></dir><file name="Form.php" hash="f9aa8849530864916d62ef0950d306f6"/><file name="Helper.php" hash="c58352105799c1f6fd74faa2bbf1e469"/><dir name="Product"><dir name="View"><file name="List.php" hash="9d0dd075156974df0efab6b6d24dfbe4"/></dir><file name="View.php" hash="ba6fbf6d0d0810aeb6a4fe8ef511c543"/></dir><file name="View.php" hash="d1f8334e56c287db50ed36c8ba210b32"/></dir><dir name="Helper"><file name="Data.php" hash="336eafffbcd2ad9ecd0c1a2e28fc066c"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Review"><file name="Collection.php" hash="aa368d8d499b9bcc8673817caf374596"/><dir name="Product"><file name="Collection.php" hash="797dc7211eb9b41025ed50dfb579061b"/></dir><dir name="Status"><file name="Collection.php" hash="1a16ff1e417289416ab7edf8e1b5df7c"/></dir><dir name="Summary"><file name="Collection.php" hash="d76d4011d5235c49d5813fab3088d68d"/></dir><file name="Summary.php" hash="e7f2d56ff21ee5dee3d5071eb448e8d1"/></dir><file name="Review.php" hash="852d52d9969952379b14cb98157d6c34"/></dir><file name="Observer.php" hash="babd7c7b8163adc0394e4bab6f2df8cb"/><dir name="Resource"><dir name="Review"><file name="Collection.php" hash="1207b5cfaa2e6718164fa1bb61585fa2"/><dir name="Product"><file name="Collection.php" hash="cfa52fb26168c53b854011483c8af3f4"/></dir><dir name="Status"><file name="Collection.php" hash="64e105f2a37553dc9a0e30615e4a3cdb"/></dir><file name="Status.php" hash="8eb6f8acbeeb80965bd998002ae4c234"/><dir name="Summary"><file name="Collection.php" hash="6ae6e402541869c0654f466485e1a224"/></dir><file name="Summary.php" hash="5b6379cd3d82e3b36f8278fa212583df"/></dir><file name="Review.php" hash="f59efd2e287bb7bb421a0749702234e6"/></dir><dir name="Review"><file name="Status.php" hash="34ce4efbfdbc4a43815168f3cd8707f1"/><file name="Summary.php" hash="5b5dd53aa74e975654f07bce1d3ef6f7"/></dir><file name="Review.php" hash="2244401a8a7dc904ba266f02e8254966"/><file name="Session.php" hash="4be3894bef741a016c2e54818f14c686"/></dir><dir name="controllers"><file name="CustomerController.php" hash="23a25aab3f28015ba72084057b56783a"/><file name="ProductController.php" hash="e1573472537d3148fcff527df5161f98"/></dir><dir name="data"><dir name="review_setup"><file name="data-install-1.6.0.0.php" hash="91b9ef227d8c39b83922c6bd6cd3dda8"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="be1c195ad059fdcbc14c339bff52498a"/><file name="config.xml" hash="86234db3b0bdf986e4339678994adef7"/><file name="system.xml" hash="13a6cc0a5c42f2858800582f12c1b49a"/></dir><dir name="sql"><dir name="review_setup"><file name="install-1.6.0.0.php" hash="a2f341c93efbffca7b896e7ecd02cfd3"/><file name="mysql4-install-0.7.0.php" hash="53fd7fcfda5f226273e5a27a83db6e19"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="fe61f3cbcb86c0564a4e10bc96ca2edf"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="1a0b13fe3b58a9603e966e3cf72a24bd"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="5fd41a667f5c19e76a48eff2f4b95744"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="772490f892fe928a156cbc5f8f26a735"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="8f1d7567b707feccdb5594765a2eb810"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="3c27dc97c75195008250fa6e7fc366b2"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="3e3998abe2c3be13a06fecabcadd8c70"/></dir></dir></dir><dir name="Rss"><dir name="Block"><file name="Abstract.php" hash="228f9f7f2d8ef4293e7a6964ffdbadda"/><dir name="Catalog"><file name="Abstract.php" hash="2b8416813980dfc482d3f864a9765abe"/><file name="Category.php" hash="9e3e8e3ae403c6dff2f189b691fab602"/><file name="New.php" hash="77b6e6d2f74d6f0e0ac2d81cdb9935dd"/><file name="NotifyStock.php" hash="69973b399bc7b66099f5f62a03dfb9e3"/><file name="Review.php" hash="25ff0148e4c74326e7f9f2007edd6f9a"/><file name="Salesrule.php" hash="b61dbfbbd59ce2cebec03a7a8327c3be"/><file name="Special.php" hash="4db5552d06528898bce0722326b5efa7"/><file name="Tag.php" hash="13d733ba64269d580ce1ef7e5f0be6a7"/></dir><file name="List.php" hash="3bb032c882687dc98520a32596c191f6"/><dir name="Order"><file name="Details.php" hash="b95b6ede9c431ea8d79098c8c8238eea"/><file name="New.php" hash="791e6f6319ff6c6d4da772def4a11c98"/><file name="Status.php" hash="cde91abfbe67ab81a35535a8c2f214a0"/></dir><file name="Wishlist.php" hash="a20670c9d52c4247c71e137dd7336c87"/></dir><dir name="Helper"><file name="Catalog.php" hash="f4cb16624431109213432bb608a08605"/><file name="Data.php" hash="5b1ccf2ac6afcbd4245704e6b5cd2677"/><file name="Order.php" hash="7d61ac8b1e6715ece1cdf5dae892bdd0"/></dir><dir name="Model"><dir name="Mysql4"><file name="Order.php" hash="123e72ffb9e3350b9cea4c71e9097c39"/></dir><file name="Observer.php" hash="d841dfe9cbf1902a55dae2fac695ed1d"/><dir name="Resource"><file name="Order.php" hash="4e58a6427568518788372023ddacca81"/></dir><file name="Rss.php" hash="53efc26d427153f25e2335ed38d5448e"/><file name="Session.php" hash="c38ba113406171cd3a343f88161f0a4f"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Links.php" hash="b81829f3b076d18d0d302cd46aef4a6d"/></dir></dir></dir></dir><dir name="controllers"><file name="CatalogController.php" hash="25c478503e3e039379cff71052bc279d"/><file name="IndexController.php" hash="c7234ce8ca386031af48dc0fad94479b"/><file name="OrderController.php" hash="c573fafb7c509dcce8da26c355d9bb64"/></dir><dir name="etc"><file name="adminhtml.xml" hash="d34139ee3d3f9e03595bdd15ff8f4521"/><file name="config.xml" hash="24a0c7697702bdabe035905a225f3943"/><file name="system.xml" hash="4c7bd23d028be19c8a27503ff00aab38"/></dir></dir><dir name="Rule"><dir name="Block"><file name="Actions.php" hash="d750c05b56556998b59731e160540c59"/><file name="Conditions.php" hash="eaea483b3bd5f3a146fb6581978af90d"/><file name="Editable.php" hash="2b26ef990188a91564b7290c9b0659de"/><file name="Newchild.php" hash="05a8c5a2cb761288766b4d3989ee29e5"/><file name="Rule.php" hash="c4d713f909abe86239d20a60d0607d6c"/></dir><dir name="Helper"><file name="Data.php" hash="81760cf3af0ab5289345e49b0e3ba54a"/></dir><dir name="Model"><file name="Abstract.php" hash="4c5e20c95468d96b4833f31798799ad7"/><dir name="Action"><file name="Abstract.php" hash="c52c1e09ca72326dc05769caacce9e39"/><file name="Collection.php" hash="9035c5268da66f28206235a29ebc872d"/><file name="Interface.php" hash="9b17800993d0ec330e538c7710eada17"/></dir><dir name="Condition"><file name="Abstract.php" hash="cc88075d09f80e6971b50a629d68af58"/><file name="Combine.php" hash="67103b5576ada6147fbef7728050f4f1"/><file name="Interface.php" hash="9a325c6097fb3bc4bac88b4cc0ca094d"/><dir name="Product"><file name="Abstract.php" hash="a4c44d2039940a117e67ccb86ab25e74"/></dir></dir><file name="Environment.php" hash="74c9ff6908d88aa5cb94c403479c1fe9"/><dir name="Mysql4"><dir name="Rule"><file name="Collection.php" hash="76fe147ad14cb1847220367e1795acb7"/></dir><file name="Rule.php" hash="e62050e81ffae0f4fb5e5524c6bd60f2"/></dir><dir name="Renderer"><file name="Actions.php" hash="79c006e7231845575db4bdab65b37223"/><file name="Conditions.php" hash="1554a57063852a8b5eea22d1ff4286f5"/></dir><dir name="Resource"><file name="Abstract.php" hash="c9dc026ee7dc7d02692eca3640a899d6"/><dir name="Rule"><dir name="Collection"><file name="Abstract.php" hash="411bfd2f48bd17d1c6b3b0264ce15386"/></dir><file name="Collection.php" hash="4d359f928bf960fb63dbb42ebb2ca638"/><dir name="Condition"><file name="SqlBuilder.php" hash="d66a02bbe17332598bee9d2c6d5d69c7"/></dir></dir><file name="Rule.php" hash="7d164a7312e3a569773afcbb2d1d74bf"/></dir><file name="Rule.php" hash="0ce190a68223bb0f31080a09bca990be"/></dir><dir name="etc"><file name="config.xml" hash="89d887580ba266a59da015ccc5096e12"/></dir></dir><dir name="Sales"><dir name="Block"><dir name="Adminhtml"><dir name="Billing"><dir name="Agreement"><file name="Grid.php" hash="ab64005141ad56a40f4eee672ff5fa22"/><dir name="View"><file name="Form.php" hash="d49013bf67623802402ffa98759518cd"/><dir name="Tab"><file name="Info.php" hash="7d64e1159b7f19f0f6b624a5d1700465"/><file name="Orders.php" hash="0c97d875772bd26011a5842222008d06"/></dir><file name="Tabs.php" hash="5ec087539d0febcb14149f4a49bf98cf"/></dir><file name="View.php" hash="d1840489619f20ef684154f36eadde60"/></dir><file name="Agreement.php" hash="0530bd38d000dd4154870b53b237d5d1"/></dir><dir name="Customer"><dir name="Edit"><dir name="Tab"><file name="Agreement.php" hash="bef0c8b5fa7d69a6058bab8bb87c4dd0"/><dir name="Recurring"><file name="Profile.php" hash="280991eff7ab7ec0ce26c22bcf1883a6"/></dir></dir></dir></dir><dir name="Recurring"><dir name="Profile"><dir name="Edit"><file name="Form.php" hash="1a07be5b691b3a27714b6fe1891e03cd"/></dir><file name="Grid.php" hash="b155716b78ece29889088293f46e632e"/><dir name="View"><file name="Getawayinfo.php" hash="2efce2246e8700e2f2c5561bfa0914c3"/><file name="Info.php" hash="b5c6da6e5da9d1b14a306e751a6d7a26"/><file name="Items.php" hash="3486f9f9543a9f23e3e37155ef88dc27"/><dir name="Tab"><file name="Info.php" hash="92e2297f8270e5ac97365dc2b5876001"/><file name="Orders.php" hash="31ac421f7dc37f5ccf1b65f51d06c88d"/></dir></dir><file name="View.php" hash="ae9f3fa2090354b740adf94470f829ef"/></dir><file name="Profile.php" hash="31fb87ec9882159f493c112eda85f150"/></dir><dir name="Report"><dir name="Filter"><dir name="Form"><file name="Coupon.php" hash="99780c30522e0f4c7fea9ba83cc09943"/><file name="Order.php" hash="3b1144c18800419d41122bc3de4edd4b"/></dir><file name="Form.php" hash="a931ab2b844c2a828c3137d3a8325b94"/></dir></dir></dir><dir name="Billing"><dir name="Agreement"><file name="View.php" hash="0070759005c1077ff90acb913adf1653"/></dir><file name="Agreements.php" hash="084159eb2b2a5a41725840b6a2374519"/></dir><dir name="Guest"><file name="Links.php" hash="461fb53f348e9afda6ad83763716f110"/></dir><dir name="Items"><file name="Abstract.php" hash="5b35f656fe36550385e9bc6bacca12a1"/></dir><dir name="Order"><file name="Comments.php" hash="fe24035bad289c5404047d5853d44893"/><dir name="Creditmemo"><file name="Items.php" hash="4b71e1d59ae3a570aa06155bc9f4fac0"/><file name="Totals.php" hash="cb049975bce99b312fbbccbb591b6202"/></dir><file name="Creditmemo.php" hash="4a96dd3d8ab48e9b2e0b1bbdf023657a"/><file name="Details.php" hash="868f07f4ffda8b77aeed47e2f480a120"/><dir name="Email"><dir name="Creditmemo"><file name="Items.php" hash="eb6a404122177859964ef0cab67b462a"/></dir><dir name="Invoice"><file name="Items.php" hash="542b53e8867c1673364a625f70424e57"/></dir><dir name="Items"><file name="Default.php" hash="2416ee589546421e172ff7a6da5c96f0"/><dir name="Order"><file name="Default.php" hash="20929c643eb043962a1e8b61cd318a4b"/><file name="Grouped.php" hash="b55c283f71a4e0c90ac8446120dfa487"/></dir></dir><file name="Items.php" hash="aacd10efd5610acd6b93d7a5047b66b6"/><dir name="Shipment"><file name="Items.php" hash="cf84ae54b263c40e91f3825064ecd25b"/></dir></dir><file name="History.php" hash="12fca99cf4abf4a5b4f1ff27306ee011"/><dir name="Info"><file name="Buttons.php" hash="8f5b0a322f7b0cff84a97bbb6e085a10"/></dir><file name="Info.php" hash="5a7131b56be83ed705424edfb6d57cd8"/><dir name="Invoice"><file name="Items.php" hash="a4774f3c36f1e497f878f048924bbda2"/><file name="Totals.php" hash="209ccde765e502711d7b6a71a7c88a37"/></dir><file name="Invoice.php" hash="ec0ea4d0dc4c7748e6eb382e0e6b6eb6"/><dir name="Item"><dir name="Renderer"><file name="Default.php" hash="0828a3ae6d0600712b46ecf6288b8004"/><file name="Grouped.php" hash="eccd98d4534a5b93158eba13da301ca7"/></dir></dir><file name="Items.php" hash="dd081a2f191bdc29cd62643bb0f2ba1d"/><dir name="Print"><file name="Creditmemo.php" hash="c5b2dc24ed818e9615b09fb89a9aea5b"/><file name="Invoice.php" hash="5617eb6a99851c0de132bfb8fb31acde"/><file name="Shipment.php" hash="ca653701f844f634e399a02796e2ba76"/></dir><file name="Print.php" hash="240aca4a9b880066f017a6850136121f"/><file name="Recent.php" hash="48899d8b9370effc1646de10eef97992"/><dir name="Shipment"><file name="Items.php" hash="c7117ede5f1b9c5c2cfea84fe6c6fe10"/></dir><file name="Shipment.php" hash="65da31ae21d849560ceb48bcd3493051"/><file name="Tax.php" hash="c4c2e0283060f10275e0638176fa727b"/><file name="Totals.php" hash="ccc3c11f7fb91a28a2f8c1ff0b787b1b"/><file name="View.php" hash="38b6e4791fefe828223a6f46624855cf"/></dir><dir name="Payment"><dir name="Form"><dir name="Billing"><file name="Agreement.php" hash="a66f12c3b7a2936f95204d3a15b93319"/></dir></dir><dir name="Info"><dir name="Billing"><file name="Agreement.php" hash="3805e9c6a86ce12ad9cc5e02c6db46e0"/></dir></dir></dir><dir name="Recurring"><dir name="Profile"><file name="View.php" hash="f2874f3d643330b2bc04ada847a96241"/></dir><file name="Profiles.php" hash="5bbdce07e4ac6ba4e7f65cf023663e44"/></dir><dir name="Reorder"><file name="Sidebar.php" hash="bf5ac172d7919d6ac5f96f9b166b9ee9"/></dir><dir name="Widget"><dir name="Guest"><file name="Form.php" hash="e81410c8d0e2ec04b7cd2a0e52434090"/></dir></dir></dir><dir name="Controller"><file name="Abstract.php" hash="04e04503f2c5d2b7dda3a02aa7d2e2d5"/></dir><file name="Exception.php" hash="09ac18ff9070aab670e1782c87ac0d26"/><dir name="Helper"><file name="Data.php" hash="51977c71532b66040d318a015bd34cbf"/><file name="Guest.php" hash="8399c4eaa5193d103d6a5b32653421e4"/><file name="Reorder.php" hash="05674626dbe02172f86e2d5f0e33268b"/></dir><dir name="Model"><file name="Abstract.php" hash="2be530c5215dab5c3da6f089383f43d4"/><dir name="Api"><file name="Resource.php" hash="b434db280dff034d053c75a372191ac1"/></dir><dir name="Api2"><dir name="Order"><dir name="Address"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="ed09d4b2cf008a4643fae22c9436473e"/></dir><dir name="Customer"><file name="V1.php" hash="52506df5c4293b38113ecd2d1acbd207"/></dir></dir><file name="Rest.php" hash="e3f5913b7fcb0faabf011c303420acb3"/></dir><file name="Address.php" hash="98f80e478d7f1f9860dab3ef4c5769e7"/><dir name="Comment"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="85f20bae6d7ce22e3b64051a9dda1b48"/></dir><dir name="Customer"><file name="V1.php" hash="929a2f896b27a14ca3b89ecd528a1dee"/></dir></dir><file name="Rest.php" hash="c3d28889e2a3a504b7e32598ee10320c"/></dir><file name="Comment.php" hash="5157ddaa57e0ec0c5d5584b9d53c2b5e"/><dir name="Item"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="fa4a9b9deb37d2200cb68fb9704133cb"/></dir><dir name="Customer"><file name="V1.php" hash="c351f86d832ead8a89c6a00e4aa91011"/></dir></dir><file name="Rest.php" hash="4976919b54a42fd3687d03c49173bbd8"/></dir><file name="Item.php" hash="9573e3a435623d0d2a03d26700db1cbd"/><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="ba19da984378e2b6496377feda439ce9"/></dir><dir name="Customer"><file name="V1.php" hash="5db410d1522d7af533033b24882b0295"/></dir></dir><file name="Rest.php" hash="bfd35b17693c615db96527d377fbd74d"/></dir><file name="Order.php" hash="22dd50272ce66f1e8b06f980d430b8df"/></dir><dir name="Billing"><file name="Agreement.php" hash="7b761c9564d128722b5dcbec3adabc9c"/></dir><dir name="Config"><file name="Ordered.php" hash="4b3a09d5c1ac7ef65033250aea6c810b"/></dir><file name="Config.php" hash="fda273a9bb6d925e3e94f0f09010744a"/><dir name="Convert"><file name="Order.php" hash="673924b5f6a1fd53b765b44eaeb240b8"/><file name="Quote.php" hash="8afd52f68c48b9ae046b62365a6dd8d9"/></dir><dir name="Email"><file name="Template.php" hash="6d0df7b9f2f6fba2fce79c3c9725051f"/></dir><dir name="Entity"><dir name="Order"><dir name="Address"><file name="Collection.php" hash="d26edfda28bc64caf64d109ce8896bb0"/></dir><file name="Address.php" hash="2ef4cd5fe9412ddc88d7240af3ba12f5"/><dir name="Attribute"><dir name="Backend"><file name="Billing.php" hash="22d5fa3a28c101d2e027f0ab0ca3ac31"/><file name="Child.php" hash="39c26fdab597f65f087424211ca51432"/><file name="Parent.php" hash="e41ba3c47ddbadd0cf8fcd85055fa5ce"/><file name="Shipping.php" hash="3a825d75685945ecdd5f6f294395f9fb"/></dir></dir><file name="Collection.php" hash="e2378e7479f995faf015c5e3d3f974e8"/><dir name="Creditmemo"><dir name="Attribute"><dir name="Backend"><file name="Child.php" hash="12910c9b1b2f5890eebe15922f984ac5"/><file name="Parent.php" hash="46fe7422c5cf98de193eb8f1be7d4b08"/></dir></dir><file name="Collection.php" hash="9c144ecbfa18a242b8ef9b288b89af10"/><dir name="Comment"><file name="Collection.php" hash="27a48a53840facd443cdb39382bccbbe"/></dir><file name="Comment.php" hash="c2e06ebb9052fc9918072554200c849d"/><dir name="Item"><file name="Collection.php" hash="5756bdea8e9804efba31d920627a5173"/></dir><file name="Item.php" hash="1c8e1f1f96a30390427a9e822610b9d1"/></dir><file name="Creditmemo.php" hash="dc543fd0ab03dc7d7fd5196fe8bb1ff1"/><dir name="Invoice"><dir name="Attribute"><dir name="Backend"><file name="Child.php" hash="2b0383261cec8e5c7212d5f2eb8cf454"/><file name="Item.php" hash="e956eb1171c842859d9ab91f3ef410c8"/><file name="Order.php" hash="6a33e064b57d6cd81563f3dabc98aedf"/><file name="Parent.php" hash="34e287508489fff67e4823c468bf8661"/></dir></dir><file name="Collection.php" hash="7627ccd2307a63a81fdea8c530fd38a3"/><dir name="Comment"><file name="Collection.php" hash="473775d8c46e318aa3c438991e81e4b8"/></dir><file name="Comment.php" hash="e1f351ed0ec213589b29cf5dfc0851b5"/><dir name="Item"><file name="Collection.php" hash="5731b554cc01bf289b3aae069ab7bd6b"/></dir><file name="Item.php" hash="1dbdadf8d58651b08b37f0a75093bcce"/></dir><file name="Invoice.php" hash="0985a22ea865b224062b19cc3acdb7a2"/><dir name="Item"><file name="Collection.php" hash="f9c328e3332bae8d7d6a56305a85afdb"/></dir><file name="Item.php" hash="b9a7c019cda58cb0b1a4157907ffac3e"/><dir name="Payment"><file name="Collection.php" hash="c2e7432b532ac381b869c5e46d8a759a"/></dir><file name="Payment.php" hash="6c0a5ac8f6b8986dcc842f8c4c4d53eb"/><dir name="Shipment"><dir name="Attribute"><dir name="Backend"><file name="Child.php" hash="d4793ddad0fee71b951fa45287ecafa1"/><file name="Parent.php" hash="519ab3ea8c74957f2cbdddd21f871f50"/></dir></dir><file name="Collection.php" hash="db788f0e3da76dc1944e72262c9132b9"/><dir name="Comment"><file name="Collection.php" hash="98693746ced501c8b6900774bb9cd093"/></dir><file name="Comment.php" hash="49d67daf14d3082c54d5c6617c9ec19c"/><dir name="Item"><file name="Collection.php" hash="5a8de713464b059130cc6cf3df164f30"/></dir><file name="Item.php" hash="0bab382cb9828171c66f68ce71301a05"/><dir name="Track"><file name="Collection.php" hash="c11625e9135139bb4c8e35f780801ad9"/></dir><file name="Track.php" hash="e555ac5938b8407dc15e9af46367f272"/></dir><file name="Shipment.php" hash="90442acab2fced52569c58061f99b314"/><dir name="Status"><dir name="History"><file name="Collection.php" hash="db8dd0423ed6dd3090e86a2b6d54b38e"/></dir><file name="History.php" hash="010afa69ee1bc6d75cb8d9f7e71251e1"/></dir></dir><file name="Order.php" hash="ee249d376904a567403cb18c11bff88e"/><dir name="Quote"><dir name="Address"><dir name="Attribute"><dir name="Backend"><file name="Child.php" hash="3dc2c9d89f14da2af5dd3567eefcd33f"/><file name="Parent.php" hash="ae02daaf996116cd5baaddf169a94b97"/><file name="Region.php" hash="aa6929d155e099c82cddf33c78d4c25b"/></dir><file name="Backend.php" hash="ada6b632ee949fefc70e7cd47602ecdf"/><dir name="Frontend"><file name="Custbalance.php" hash="9b97a3e95fe207f13389c3db9eda4672"/><file name="Discount.php" hash="bcdbd4ffb5ee8ddbdbe47421e2d629a1"/><file name="Grand.php" hash="1a4dde3c4512ace0bb16f69dfae76d63"/><file name="Shipping.php" hash="fca436d1af0ec3a58065dddc47814317"/><file name="Subtotal.php" hash="c770e113b79ef05501eb826350de6537"/><file name="Tax.php" hash="f201a5b79c3d86bc787a1d94c26f9795"/></dir><file name="Frontend.php" hash="6663deed8b7770ae28cfce76740decae"/></dir><file name="Collection.php" hash="968a22e1d2ff514245bb0ccf9bc285eb"/><dir name="Item"><file name="Collection.php" hash="d15136c7db392ca14222cfba4b6889c1"/></dir><file name="Item.php" hash="b7616e552aeab785797b3e1fa0a8726b"/><dir name="Rate"><file name="Collection.php" hash="764fac7cb350d2a54b09f63a63924a12"/></dir><file name="Rate.php" hash="cd88976ded80724bab442e50d904e929"/></dir><file name="Address.php" hash="7c7ca80d4fdc6c79f5fecdc455e8ecaa"/><file name="Collection.php" hash="75f34757a52eb79cb886d36790ab6271"/><dir name="Item"><file name="Collection.php" hash="6d3d952bf2f6b882b72b5325c62f4c5a"/></dir><file name="Item.php" hash="9517a2117470f932873f3d8b16cee1ac"/><dir name="Payment"><file name="Collection.php" hash="4fd05e00454cda210a7f927fba328301"/></dir><file name="Payment.php" hash="5a71a13f039b1c7f2f50468d33c7dd24"/></dir><file name="Quote.php" hash="9989cb2478e4fdd611c36fef6acc508b"/><dir name="Sale"><file name="Collection.php" hash="bea4c27ce23e409479adf1f79bd8709a"/></dir><file name="Setup.php" hash="d6f3c5e6c70ffae9c1404fa6d4292827"/></dir><dir name="Mysql4"><file name="Abstract.php" hash="d12f89a16a66a9068353cba5f05a223e"/><dir name="Billing"><dir name="Agreement"><file name="Collection.php" hash="710965f0fd934005da8d4c83dece7550"/></dir><file name="Agreement.php" hash="923babe9c55ce2164bdcd0a94ef4e8bc"/></dir><dir name="Collection"><file name="Abstract.php" hash="87274fda5a701210f87b77d9604251de"/></dir><dir name="Order"><file name="Abstract.php" hash="eaced4a24e027f10d94d6f53fbe21d92"/><dir name="Address"><file name="Collection.php" hash="7c038b6f181c8a3966fc1c5cf5e34640"/></dir><file name="Address.php" hash="ff29e3311002ce43be12e5a91d6b1da5"/><dir name="Attribute"><dir name="Backend"><file name="Billing.php" hash="e74b054bc739ad33a356049a3509c3d8"/><file name="Child.php" hash="558490d4f64a480c5eeb23f48e7c30f0"/><file name="Parent.php" hash="4ef6e19383c74b35e65ea2fccdfa7350"/><file name="Shipping.php" hash="f5cbc5b01c156b621b6d9676b70515a2"/></dir></dir><dir name="Collection"><file name="Abstract.php" hash="d2ef36b96e484eb05f9a144f7a0e1ac5"/></dir><file name="Collection.php" hash="1072d2318446752fffe984f485d78a24"/><dir name="Comment"><dir name="Collection"><file name="Abstract.php" hash="d9df028b7b86dfcdc2dd0ed0cf072c11"/></dir></dir><dir name="Creditmemo"><dir name="Attribute"><dir name="Backend"><file name="Child.php" hash="e94545b89ecd79340b3d4b49916b6094"/><file name="Parent.php" hash="adf80a157584b4eff97f47978fb2100a"/></dir></dir><file name="Collection.php" hash="a281567b4afa1366d03dbc966fa460d5"/><dir name="Comment"><file name="Collection.php" hash="755191133b2d9f5c23cd395e35a9940a"/></dir><file name="Comment.php" hash="4905bed204ee14da43471f196836ef16"/><dir name="Grid"><file name="Collection.php" hash="af14079eb6603944ed56a472b59d93b6"/></dir><dir name="Item"><file name="Collection.php" hash="3754dda4b1b9b269aee3cc1a604411b8"/></dir><file name="Item.php" hash="01edfe8eeeff847b787540ecb1e2e16a"/></dir><file name="Creditmemo.php" hash="18c88ec4de175eebc00f8b009d17364a"/><dir name="Grid"><file name="Collection.php" hash="af59bede1d5f988ac464802aedee2588"/></dir><dir name="Invoice"><dir name="Attribute"><dir name="Backend"><file name="Child.php" hash="6c7957523f57d1a853109c34b0425d3a"/><file name="Item.php" hash="ffa9a7ded8bb32eb40091f5ce85cdda2"/><file name="Order.php" hash="e21c183035c5aaafded5e255bb37724f"/><file name="Parent.php" hash="3ef3263c67a15d2fe95ba466f0815c95"/></dir></dir><file name="Collection.php" hash="5e4c4f4e5cd38c2c54a11b18652fb32a"/><dir name="Comment"><file name="Collection.php" hash="b830e77b09c207e95af2a90dff8d72f2"/></dir><file name="Comment.php" hash="f211d7ee656e04eec95e535047f6dc92"/><dir name="Grid"><file name="Collection.php" hash="f808f6269031a5a9d60cbb54893a784d"/></dir><dir name="Item"><file name="Collection.php" hash="404b3d848237e9d603c6f68f7fe2817a"/></dir><file name="Item.php" hash="c1a8fe93361614428ca3c32d06c08713"/></dir><file name="Invoice.php" hash="9bb6a39a36c9d56b181397f0f8bded55"/><dir name="Item"><file name="Collection.php" hash="94c72ab7fb747ce61a132e0928ee19e5"/></dir><file name="Item.php" hash="13d9b87db264f7adf6f22cdde3c63e20"/><dir name="Payment"><file name="Collection.php" hash="2ec3645904237690b347af9acb4baf09"/><dir name="Transaction"><file name="Collection.php" hash="c8362358510365e093c98de78608600d"/></dir><file name="Transaction.php" hash="7f334ddf120f5c7f6b113abb06d2a1ec"/></dir><file name="Payment.php" hash="660718b664b599b51fa353bb3cb5afd9"/><dir name="Shipment"><dir name="Attribute"><dir name="Backend"><file name="Child.php" hash="a406b89a624d48aa29ae600c007c0c12"/><file name="Parent.php" hash="bc5d2742024c55ff439523592a310b82"/></dir></dir><file name="Collection.php" hash="6ac549687fc7151c65c40b20fd882808"/><dir name="Comment"><file name="Collection.php" hash="df9a925d885420bda460c230afaca220"/></dir><file name="Comment.php" hash="6e30f7a9192f9811cf5289092f9bbb46"/><dir name="Grid"><file name="Collection.php" hash="57354bff0ac77569b0a32e8569d8be4c"/></dir><dir name="Item"><file name="Collection.php" hash="473c210b4b7bdad1af3b310fc0a8f922"/></dir><file name="Item.php" hash="8e71388582b4d0891dc60b65195ba5af"/><dir name="Track"><file name="Collection.php" hash="549b0cfa09627da8de41d0681ab3c07b"/></dir><file name="Track.php" hash="9906630d788208f383a9059383973f78"/></dir><file name="Shipment.php" hash="b06730da07d51443e7ba9020244cece5"/><dir name="Status"><file name="Collection.php" hash="5ce12f2894eb2e71b04056f74a56db3d"/><dir name="History"><file name="Collection.php" hash="db335452e2ca68c798bb0c05c4ced6d4"/></dir><file name="History.php" hash="f58b802fa285f32f96aa21be59df9ded"/></dir><file name="Status.php" hash="f64acff11b319559d5a682ae2f2eb09c"/><dir name="Tax"><file name="Collection.php" hash="bfd0323dd565de0bd7bbb9804f63e991"/></dir><file name="Tax.php" hash="524f62286c3565a8d006badbef121fa8"/></dir><file name="Order.php" hash="66627134e6c20286c8c7acb9c33b582a"/><dir name="Quote"><dir name="Address"><dir name="Attribute"><dir name="Backend"><file name="Child.php" hash="f90b9d087c7154c32b0ba915dc6a3a0c"/><file name="Parent.php" hash="3fa6cab874b6b7a5617a150f8b2c1ca0"/><file name="Region.php" hash="ea81bb9a64bda4203dc2f1067ca39a54"/></dir><file name="Backend.php" hash="87f2c8635b883ce589e944499131d465"/><dir name="Frontend"><file name="Custbalance.php" hash="52d52833c5f46decdf9bd4a856f80093"/><file name="Discount.php" hash="648af5482186d234a31505e1bc6ae500"/><file name="Grand.php" hash="cb9b6c627d5b8966aee72db58e4460a2"/><file name="Shipping.php" hash="b7462a6658bb61f49233b8218a73322f"/><file name="Subtotal.php" hash="761b9c8e389b4bde68396f69b5407bab"/><file name="Tax.php" hash="629321380f74bc26cef7264ac5c2dde3"/></dir><file name="Frontend.php" hash="fa01a05e99d7f3e602575c340f4c607b"/></dir><file name="Collection.php" hash="a86add0a2fd554af53fd940ca7b5758e"/><dir name="Item"><file name="Collection.php" hash="c75c7cb0ba7d071d42923e642a898009"/></dir><file name="Item.php" hash="076f3fad0e42176998ad492d286369fc"/><dir name="Rate"><file name="Collection.php" hash="5d948c6fa35b627fda071895000f40cb"/></dir><file name="Rate.php" hash="9826e55d12d254250ff2eb5e60bd1c23"/></dir><file name="Address.php" hash="fe4ff7530d9772854641a76ae2052a8e"/><file name="Collection.php" hash="998e958aa6d8c085a96ba19789657964"/><dir name="Item"><file name="Collection.php" hash="422290fb391c6e242436ff5def1b1deb"/><dir name="Option"><file name="Collection.php" hash="89d56a8521f26b4162bea949a786c6fc"/></dir><file name="Option.php" hash="9f1e28275ad2c5b4816c438296727129"/></dir><file name="Item.php" hash="0c26721d7af53a1d389be27183f630a4"/><dir name="Payment"><file name="Collection.php" hash="48c6b856e3e6b7c8e23e0fb1da6932b1"/></dir><file name="Payment.php" hash="e592e97eaf9d243042cc366d5846fe81"/></dir><file name="Quote.php" hash="7fc8dbbdcb80abc93eca614aa8bd06fc"/><dir name="Recurring"><dir name="Profile"><file name="Collection.php" hash="08722279a3a0a4f474aad055e732aaa2"/></dir><file name="Profile.php" hash="f56cfd3293d3cbeac339edefe5977fe8"/></dir><dir name="Report"><file name="Abstract.php" hash="efc244667a406052af6f89fd35d94fdc"/><dir name="Bestsellers"><file name="Collection.php" hash="c2af090807cc79cdaac55d1059c377f0"/></dir><file name="Bestsellers.php" hash="ca75e70a1765aa211b7bd09608fdcf8a"/><dir name="Collection"><file name="Abstract.php" hash="6ccbc672629fcdc8b6272bbcfafff7e8"/></dir><dir name="Invoiced"><dir name="Collection"><file name="Invoiced.php" hash="51f1eac170f2465080d104114093e0e1"/><file name="Order.php" hash="db5eae7f77229c4598aae657b8c936da"/></dir></dir><file name="Invoiced.php" hash="bf10ed9ca5323d4b31c4f5c8f98ce378"/><dir name="Order"><file name="Collection.php" hash="3c1434cd5c02a3375913079adeebe2ee"/><dir name="Updatedat"><file name="Collection.php" hash="0264dd6d390e6625eb398d5ef66ec29d"/></dir></dir><file name="Order.php" hash="fa060bf8a358181af5ea4c5a0cb71008"/><dir name="Refunded"><dir name="Collection"><file name="Order.php" hash="76f32743c0658c289d1ea66c24bc91d3"/><file name="Refunded.php" hash="301c9cd4e574585f67f6409064547297"/></dir></dir><file name="Refunded.php" hash="cc07f06b3b2193ee644ca1d384b66171"/><dir name="Shipping"><dir name="Collection"><file name="Order.php" hash="75275bc7cf3b6ec53eb3fb3e9536a15d"/><file name="Shipment.php" hash="73d8f9fc683a8cd3d8b389d3325f4629"/></dir></dir><file name="Shipping.php" hash="20b9e95f7a75936ddac39b3e1493a812"/></dir><file name="Report.php" hash="7828f88e9d9974abc4efdd8312672999"/><dir name="Sale"><file name="Collection.php" hash="602312e983120d7c5107de9cafb274b4"/></dir><file name="Setup.php" hash="eff4b297bf369baf2878dcee94c3c725"/></dir><file name="Observer.php" hash="af8249b4041fc99dc39402b44b9070a6"/><dir name="Order"><file name="Address.php" hash="b5aaf6b398fea44f576767a36da61b3f"/><dir name="Api"><file name="V2.php" hash="61a763b0b1cc10e7a1f810e7014debdf"/></dir><file name="Api.php" hash="60720076b3e2d6fa19f198ee6b3fea34"/><file name="Config.php" hash="9de4f1dec458aea9d9b5f9a7341e6280"/><dir name="Creditmemo"><dir name="Api"><file name="V2.php" hash="9a98607475d99105414a0ae82afaf4d0"/></dir><file name="Api.php" hash="f8679da662ef327e76843a9cc1f3793d"/><file name="Comment.php" hash="38afb28018280129c420cb149337b00f"/><file name="Config.php" hash="2b1841ce51d9a41a60b23630edbdd12e"/><file name="Item.php" hash="82f431c3cd11ee553cd071f314ac60b5"/><dir name="Total"><file name="Abstract.php" hash="734d7caeedbc5d4947e207e949289561"/><file name="Cost.php" hash="6a74bbae062751be9c4fd797f75ead47"/><file name="Discount.php" hash="184c13257733df0c2c6ff03a753e7faf"/><file name="Grand.php" hash="853363438c6fa900f20f5a69999e85dc"/><file name="Shipping.php" hash="360dde779af523188fcb845e203796ae"/><file name="Subtotal.php" hash="b215261de63a33f4e3a1d2092b73e838"/><file name="Tax.php" hash="72e683482df722523fe89da62b8157d3"/></dir></dir><file name="Creditmemo.php" hash="f2e811cff4ca81f4632df4b98c63b88f"/><dir name="Invoice"><dir name="Api"><file name="V2.php" hash="e04827c97bc64a9b4a47f01ec07efb35"/></dir><file name="Api.php" hash="9d8d2f62139c7fb8c3e5403a3569b2da"/><file name="Comment.php" hash="71efb48707ef5e985335830845a47198"/><file name="Config.php" hash="aa47690e5b82454c5c0af87131307b1e"/><file name="Item.php" hash="96425a3ff3e8b7e161572f6810632840"/><dir name="Total"><file name="Abstract.php" hash="0cfd189857a55d3ac0681810a731b58c"/><file name="Cost.php" hash="fee6afa197d455c74716d76734a1180b"/><file name="Discount.php" hash="083078f98215a8d2d66138fa7096ed8f"/><file name="Grand.php" hash="32612eb9c44d2ec6cc8e11daab5586f6"/><file name="Shipping.php" hash="d3513d00b2308f6907b73b5193714fd1"/><file name="Subtotal.php" hash="7bc974c645acd358ec1b985a2cb497b3"/><file name="Tax.php" hash="432e2791339a3bc66c106977509e334c"/></dir></dir><file name="Invoice.php" hash="14e3a7d612dbe05d3967da27842c2444"/><file name="Item.php" hash="b4be5fc454af9ce0aea4af15bb9c0007"/><dir name="Payment"><file name="Transaction.php" hash="5415a0f3baaae203f4e6889204d5fbef"/></dir><file name="Payment.php" hash="2b93e3dca7135820fe90c291384746c0"/><dir name="Pdf"><file name="Abstract.php" hash="99500e8639a6ae441d03487ccd224b1f"/><file name="Creditmemo.php" hash="f285b8eed25541d884ed4b05e8cd9995"/><file name="Invoice.php" hash="42b3b2072b65e431c1255779846ceb53"/><dir name="Items"><file name="Abstract.php" hash="ea2808f1fbd4cdcca4fe94acd8afa003"/><dir name="Creditmemo"><file name="Default.php" hash="f79904131e7df30bbe7959ce7b85083e"/><file name="Grouped.php" hash="3c18661d38676d9a8d01e4bfc5913d3d"/></dir><dir name="Invoice"><file name="Default.php" hash="e2d04550d67ed65fe47648917bb72522"/><file name="Grouped.php" hash="a1597c343881ab54665f2f98a8da215d"/></dir><dir name="Shipment"><file name="Default.php" hash="f358a2c8971ee532161f6dc004e3a81d"/></dir></dir><dir name="Shipment"><file name="Packaging.php" hash="e1b05ca73d859e0b70e13c74b98238e3"/></dir><file name="Shipment.php" hash="8a3ac8ab741a72ff505785b5dd6546ca"/><dir name="Total"><file name="Default.php" hash="8f7266cff28f558dfce099a332cb7693"/></dir></dir><dir name="Shipment"><dir name="Api"><file name="V2.php" hash="4b37ad12413b8f00972b3d3f4315fcad"/></dir><file name="Api.php" hash="591c40d195e796254c8264645bdeeca6"/><file name="Comment.php" hash="832f87c9d3c6f98457f89494a3007fa1"/><file name="Item.php" hash="57e626460ed5d16d6fd8d1b684fe1c55"/><file name="Track.php" hash="ef300b5958bf00f73e7fd41aacc49594"/></dir><file name="Shipment.php" hash="d3dc3eb9bf6d50ddd606dd14212dea75"/><dir name="Status"><file name="History.php" hash="9fa47f2e20b7e333d714d296ba3b99e9"/></dir><file name="Status.php" hash="2c5ae7c06fd502603361fc3063e4a793"/><file name="Tax.php" hash="0e3c13ad8faa32eb24960e3d254180e1"/><dir name="Total"><file name="Abstract.php" hash="fcea40c1cb0c35f58a5a720cb409ad1c"/><dir name="Config"><file name="Base.php" hash="2f32b6816b83ddf645211a284a18ca25"/></dir></dir><file name="Total.php" hash="5cd140158579497b17bd6e79162011bd"/></dir><file name="Order.php" hash="1ce6180488b5710564863dbd98ad26e2"/><dir name="Payment"><dir name="Method"><dir name="Billing"><file name="AgreementAbstract.php" hash="fcf2161aa71002dc50725409ed6de596"/></dir></dir></dir><dir name="Quote"><dir name="Address"><file name="Item.php" hash="ea12e72ec8424db3aa2bc593241c9699"/><file name="Rate.php" hash="61ed371c7a1a57fbc388d7f6bfdfc1cf"/><dir name="Total"><file name="Abstract.php" hash="6bbbbce102c225d2b2bc5625b0b12ff6"/><file name="Collector.php" hash="d7a41cc4fa813af40b13c1cbc039cf5f"/><file name="Custbalance.php" hash="d141306f03fc099f0584e982b1c80559"/><file name="Discount.php" hash="603730b9fcff49d2a304e8467472a7eb"/><file name="Grand.php" hash="e5525fd20218935749c16ae5fbd98176"/><file name="Msrp.php" hash="de22dfc41e2640f2b9a6f76e2a0f8474"/><dir name="Nominal"><file name="Collector.php" hash="bedeac0b799a55eef8af99dc6d398fda"/><dir name="Recurring"><file name="Initial.php" hash="7ca5ffb59d71e46b429c40e1229077dc"/><file name="Trial.php" hash="ac1f6b68f4659acd0609df9c9d94f3ed"/></dir><file name="RecurringAbstract.php" hash="201fc90c8ea7f9403dd6e29ce681cf67"/><file name="Shipping.php" hash="852de22dfb4f3ef9b303e8f6ab3b3b9a"/><file name="Subtotal.php" hash="ae07f40723e388d6461f2f8ecb4fc493"/></dir><file name="Nominal.php" hash="5a9d8bb830fde9dc147854f6acc127d2"/><file name="Shipping.php" hash="a7de312528e726122cd380038067c4de"/><file name="Subtotal.php" hash="a4aadc71f90beed863dd3507c1b3633a"/><file name="Tax.php" hash="7e494a87976e318906077abb778fa2d3"/></dir><file name="Total.php" hash="376cf52b2a0324714b3b264407970b4f"/></dir><file name="Address.php" hash="77204f9535b973a39dd2e8fa14b400d5"/><file name="Config.php" hash="4c65b9bbda8a9f2cf6e19a2013680f67"/><dir name="Item"><file name="Abstract.php" hash="aae53ae7b254c8b7f7a681b40857c1db"/><file name="Option.php" hash="4284d9ca3a81cdc0cedc2581d3baacd5"/></dir><file name="Item.php" hash="111baaaed72b5bc408304326965cc928"/><file name="Payment.php" hash="c68884655d0fc6bfbe86597e5e4e54a5"/></dir><file name="Quote.php" hash="d4a6d48b9f10eabfeabe2ab22a37aba6"/><dir name="Recurring"><file name="Profile.php" hash="2b09538dc730a146093dfd2a8e4f3a0e"/></dir><dir name="Resource"><file name="Abstract.php" hash="a56c65b3e68ac908a1c40adae76c2f23"/><dir name="Billing"><dir name="Agreement"><file name="Collection.php" hash="ac427d72b5e018173ddb6550d62da685"/></dir><file name="Agreement.php" hash="cc469f2f01bdcc8c4c72681a39847e21"/></dir><dir name="Collection"><file name="Abstract.php" hash="19484c8d144e8243405ab083a5e91d2b"/></dir><dir name="Helper"><file name="Interface.php" hash="8ce1b682deae4814812cb98a8162e8e6"/><file name="Mysql4.php" hash="bc687fc66fb4d2678873d2e7c04a1e01"/></dir><dir name="Order"><file name="Abstract.php" hash="89f4e7c6cd503c1390a0c127fb0a7381"/><dir name="Address"><file name="Collection.php" hash="fa8eadfeaa028a016b40ac04734b9e68"/></dir><file name="Address.php" hash="47fbb096ec189bac3fe97f215a79697d"/><dir name="Attribute"><dir name="Backend"><file name="Billing.php" hash="506ea2c822a89532f120ea13ac6099cd"/><file name="Child.php" hash="4d81b1cf9fe25d8df19d44aa516be6be"/><file name="Parent.php" hash="f14239349ff28e561bc8534743b22aaa"/><file name="Shipping.php" hash="c79a59a848d3c1692dfe3a82ef761ef6"/></dir></dir><dir name="Collection"><file name="Abstract.php" hash="c64eb8965d55c5eeacb7856bff91f36a"/></dir><file name="Collection.php" hash="d3dab5f90d3a84ba0548b217a12c9b72"/><dir name="Comment"><dir name="Collection"><file name="Abstract.php" hash="34add69ec5c79f8726b971c1620181f1"/></dir></dir><dir name="Creditmemo"><dir name="Attribute"><dir name="Backend"><file name="Child.php" hash="a040e9da7bb848a6a61b330e5fd4edfa"/><file name="Parent.php" hash="dadde192982cb95d32ce82adac882e4a"/></dir></dir><file name="Collection.php" hash="fa47186a90e42584a49e001c5532b32c"/><dir name="Comment"><file name="Collection.php" hash="103422d9049c3ac381ab7e665daccb9f"/></dir><file name="Comment.php" hash="a61c32f0e00415c7a3ff911d05cd39cc"/><dir name="Grid"><file name="Collection.php" hash="5ced80afeb94905b80eee5925f45ef17"/></dir><dir name="Item"><file name="Collection.php" hash="9dff81ac8137cb216a13a774badda549"/></dir><file name="Item.php" hash="31a8c3a138c9565d0e79bbd07a023eb8"/></dir><file name="Creditmemo.php" hash="e7a8a584f07a00a9e10ef1592bac5bce"/><dir name="Grid"><file name="Collection.php" hash="e7972c610e58d9c746349f7c0d573894"/></dir><dir name="Invoice"><dir name="Attribute"><dir name="Backend"><file name="Child.php" hash="3b6d7bc632b74727578ad0b77bf2daba"/><file name="Item.php" hash="e962dbfe36cfe0cb23faf16eb8f582c8"/><file name="Order.php" hash="bdebc5b6093057017c31d5b1877d9014"/><file name="Parent.php" hash="5686ccf311802d7134c969942788832a"/></dir></dir><file name="Collection.php" hash="3bf9ddee39489f83d98be8f1f84eba5e"/><dir name="Comment"><file name="Collection.php" hash="15195ba2555e4fb35e493830e8c5266e"/></dir><file name="Comment.php" hash="41dcb8ab21d15d4a1d315f891d429136"/><dir name="Grid"><file name="Collection.php" hash="a82f47818143ded93703b22c0cbb62d8"/></dir><dir name="Item"><file name="Collection.php" hash="9618891171bb13d7821c773cdd346fdd"/></dir><file name="Item.php" hash="9cedbe54187f8926cedef976e27759d3"/></dir><file name="Invoice.php" hash="02058b23cf63cd0c8ab8c9697d74c9c5"/><dir name="Item"><file name="Collection.php" hash="51d426ee2191db7f4e9b0ed3afbd6698"/></dir><file name="Item.php" hash="b690d152ea3dfb9dd3380d741cc09ba7"/><dir name="Payment"><file name="Collection.php" hash="fc6382cef0d1fbdbb0a42c227251d36a"/><dir name="Transaction"><file name="Collection.php" hash="cb2c63339719d9d99d00cdf26c0214de"/></dir><file name="Transaction.php" hash="963dd8f94b47cf916878d2181db05a2f"/></dir><file name="Payment.php" hash="f05bf66baba38aab3fb02ef0ffc6d164"/><dir name="Shipment"><dir name="Attribute"><dir name="Backend"><file name="Child.php" hash="4ba5eedeaf8309b199eb2fcfdcb07d60"/><file name="Parent.php" hash="2bfe8559afcc459971bd6dcd3bc7656c"/></dir></dir><file name="Collection.php" hash="3d5cae59fea64fc1ae428f076c3e4daf"/><dir name="Comment"><file name="Collection.php" hash="99475e1992a15bdaec93ba5cc949ea5c"/></dir><file name="Comment.php" hash="7880148dcadae0a97c34e8cd7516f116"/><dir name="Grid"><file name="Collection.php" hash="12f7a15a174921f190e4ff3664d58148"/></dir><dir name="Item"><file name="Collection.php" hash="453322c8099ce1ce02ad2d4acfdacbc7"/></dir><file name="Item.php" hash="59afa9fd390ec49e3d4ce6d8ef01d025"/><dir name="Track"><file name="Collection.php" hash="33d07bf647e12110363a7962b5bd5469"/></dir><file name="Track.php" hash="4915b855be0f53287306a287a229c9b2"/></dir><file name="Shipment.php" hash="46c000412d0a5f1c441cbde032f8f0de"/><dir name="Status"><file name="Collection.php" hash="dba6909246ba69c305b49859864a7039"/><dir name="History"><file name="Collection.php" hash="15c83d6eace7253cec6a2e4810e4e82a"/></dir><file name="History.php" hash="0e7fbeb03289e64df359b229f8571378"/></dir><file name="Status.php" hash="792bc432c727ce1d8dec519f47a30abf"/><dir name="Tax"><file name="Collection.php" hash="95e805cec38b5d5c7c584a65210ce913"/></dir><file name="Tax.php" hash="d7821ceb2f3ddcb29dc66b88a646058f"/></dir><file name="Order.php" hash="8b25ec73560f8644ab0376de07e81ecd"/><dir name="Quote"><dir name="Address"><dir name="Attribute"><dir name="Backend"><file name="Child.php" hash="ca8ac35d3e13d27a950a051d2e0adfc9"/><file name="Parent.php" hash="0f4511956cfbc4713fb7278ed958df2f"/><file name="Region.php" hash="0735a5a338c6f035ddf95689281e080a"/></dir><file name="Backend.php" hash="f7eece248dceb7811c5d48ad018f7bc2"/><dir name="Frontend"><file name="Custbalance.php" hash="f027ff02b8bb782388b9b7e69700a690"/><file name="Discount.php" hash="82b08a77b8b244f432b4d601e0f20fa9"/><file name="Grand.php" hash="036b8d97f3c6f4355d00ca84d3f9432b"/><file name="Shipping.php" hash="5354411cc83b29a7df63cf50030c0fda"/><file name="Subtotal.php" hash="0b86d5e81f0576df09de5ed8a773a8f2"/><file name="Tax.php" hash="ebfa77cf9dd43485695ebbbd3bef21e9"/></dir><file name="Frontend.php" hash="a8151b164769e3f2763e0869b51ec6d1"/></dir><file name="Collection.php" hash="44c7a8720c2c1aacb9cda1ed4c49563b"/><dir name="Item"><file name="Collection.php" hash="8c1099b9ea900b683103ab1af47adda3"/></dir><file name="Item.php" hash="a21914009409a143fccd2772de4a0575"/><dir name="Rate"><file name="Collection.php" hash="718cc26d336586466d1fbbefa6cae9c6"/></dir><file name="Rate.php" hash="12455eda9d701a890068c0bfb94056c2"/></dir><file name="Address.php" hash="460c102f3194bbf255619853e4b79053"/><file name="Collection.php" hash="8e4a53611328a7d9f14608bb280e650c"/><dir name="Item"><file name="Collection.php" hash="0e66744af4b82925604fdb0e3b31eb2a"/><dir name="Option"><file name="Collection.php" hash="5c14f50b6104952d4e76c6c412488577"/></dir><file name="Option.php" hash="a40a4bc013ed117bd5b21e2dab161a66"/></dir><file name="Item.php" hash="0c3531593e88f210eae490a4a96588fa"/><dir name="Payment"><file name="Collection.php" hash="0e5317d6d76d0137b44b03b659a385e2"/></dir><file name="Payment.php" hash="b2e2b33eb37878a0d06e9dd2e16a67f2"/></dir><file name="Quote.php" hash="8e4e595817d0aa18060a66bf6b7c8084"/><dir name="Recurring"><dir name="Profile"><file name="Collection.php" hash="3b97e1fd792ea29e03362f39b3adaa08"/></dir><file name="Profile.php" hash="c349c5813161d74703caf851105ef0e1"/></dir><dir name="Report"><file name="Abstract.php" hash="cb7d4c7c801edcd8cfdcf17956921f97"/><dir name="Bestsellers"><file name="Collection.php" hash="93502f58a0e6d532dd7b2b07d796c6c8"/></dir><file name="Bestsellers.php" hash="75048327f74601773dbc6528968c2dbb"/><dir name="Collection"><file name="Abstract.php" hash="f78d7f267b278f63629372fc621709f2"/></dir><dir name="Invoiced"><dir name="Collection"><file name="Invoiced.php" hash="19c19915f20e148c27c7d1c09b3ec37b"/><file name="Order.php" hash="a82edad51925a47b467307235c8dd780"/></dir></dir><file name="Invoiced.php" hash="707173594e3d21fc44332f162749d7a9"/><dir name="Order"><file name="Collection.php" hash="f021d66db855f2fc030a8d503046f073"/><file name="Createdat.php" hash="40ee1bd59b007a9dd45d4e1ead89d5be"/><dir name="Updatedat"><file name="Collection.php" hash="229247f6c1ffc4cb832b89e55e5c643b"/></dir><file name="Updatedat.php" hash="182c1ec4c6e22f0ec4642094a5baa75e"/></dir><file name="Order.php" hash="1b5124776b6983193c0f836e09629a73"/><dir name="Refunded"><dir name="Collection"><file name="Order.php" hash="c86a880bbbc3e3c939740a21ee705b65"/><file name="Refunded.php" hash="5b2ee7377fc029b459021211662410c3"/></dir></dir><file name="Refunded.php" hash="60f6c42c8d259a7e018bfc59deae97c8"/><dir name="Shipping"><dir name="Collection"><file name="Order.php" hash="4d3e40e091390b09db1456ff99317652"/><file name="Shipment.php" hash="7868a4e901eb49f1f023030a21152e76"/></dir></dir><file name="Shipping.php" hash="23198ac1648eacd30e457900c03c1fbd"/></dir><file name="Report.php" hash="c06b39cf180fe07e3a95e79292e9331e"/><dir name="Sale"><file name="Collection.php" hash="f55060aae60f709e8db01519cf221578"/></dir><file name="Setup.php" hash="b5d75c487de0d1c2d4dbcd5f9df1cd56"/></dir><dir name="Service"><file name="Order.php" hash="d35c0087381364015dfd6a6f76b9fa72"/><file name="Quote.php" hash="8895124dcc1b104750132a3fdb4bb10d"/></dir><dir name="Status"><file name="List.php" hash="48a7c3fe6e8ad5fe60fbc724354a3635"/></dir></dir><dir name="controllers"><dir name="Billing"><file name="AgreementController.php" hash="16105acc9d6fab8bbf0cde7207efea03"/></dir><file name="DownloadController.php" hash="093b8f38ab59b12168416b0c0cc52a32"/><file name="GuestController.php" hash="be829deb8f9c3e37e92e1fce8c094b40"/><file name="OrderController.php" hash="959facfa8eb16ae41a10d4e46969500d"/><dir name="Recurring"><file name="ProfileController.php" hash="44154e960c47f91846a914c02eaee80f"/></dir></dir><dir name="data"><dir name="sales_setup"><file name="data-install-1.6.0.0.php" hash="4a6712e20d22ae761842ee7be870d496"/><file name="data-upgrade-1.6.0.4-1.6.0.5.php" hash="dad2f163ecbfd7c224947292c5899d5d"/></dir></dir><dir name="doc"><file name="invoice.txt" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="order.txt" hash="5dce876530c94ebbedbba7a234c23846"/><file name="order_actions.HTM" hash="b955e61bff753ea0534f907ef6ba9bb6"/><file name="quote.txt" hash="55ecfbdd576958ff1b1fbf16957ba9df"/><file name="test.php" hash="4d7ea87f963d0256869405e6a1d19b0b"/></dir><dir name="etc"><file name="adminhtml.xml" hash="ba7c07cb628f2b05ae380dfd81679fe3"/><file name="api.xml" hash="91a657769f66f5e04cf4e73b016dcb05"/><file name="api2.xml" hash="3b99b83b783e2c95f1792d6ee7af063a"/><file name="config.xml" hash="8d046c8a6787b9dc5580fadbe2ccb055"/><file name="system.xml" hash="a1296df14bec6424736e61b565885ff3"/><file name="widget.xml" hash="573f3a91b06b4a29d119f30067f47e0a"/><file name="wsdl.xml" hash="ed13de1dde6408ab508892374ef57b81"/><file name="wsi.xml" hash="6aba2f44765955ec8bcd1afcebfb0800"/></dir><dir name="sql"><dir name="sales_setup"><file name="install-1.6.0.0.php" hash="ad9131b711aeddde2bd8e77a764a119c"/><file name="mysql4-install-0.7.0.php" hash="45a8b3690a68b98bc6c666163f5cb93e"/><file name="mysql4-install-0.8.11.php" hash="8bcd40d0c68f907e544fc6d25d4ed814"/><file name="mysql4-install-0.9.0.php" hash="d98e55a800406643b1feccc8b844336b"/><file name="mysql4-install-1.4.0.0.php" hash="c37c1fde345f093f3c621cade0113bde"/><file name="mysql4-upgrade-0.6.2-0.7.0.php" hash="7a301e36f307f42a4c885e858a71ee44"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="d8f8a077777d2046b9770e3ed0b950e8"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="ce1c736098a85a220629cfc4ea41780b"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="809d679d0c3100564a7092a7c57dd959"/><file name="mysql4-upgrade-0.7.9-0.7.10.php" hash="e4118cf7756d6b1006cac5a2026d70a3"/><file name="mysql4-upgrade-0.8.0-0.8.1.php" hash="56b2f5fd8ea04c1f64bc7ece1ada04ab"/><file name="mysql4-upgrade-0.8.1-0.8.2.php" hash="d2cc0692775cec0c0a98942ea9e53a91"/><file name="mysql4-upgrade-0.8.11-0.8.12.php" hash="7ce9f421f2354f9d74e7c57e138f2344"/><file name="mysql4-upgrade-0.8.12-0.8.13.php" hash="d97fd3692fc674a1d16775195edd7d04"/><file name="mysql4-upgrade-0.8.13-0.8.14.php" hash="896cd390d0263ecd2d55dd2c060debfa"/><file name="mysql4-upgrade-0.8.14-0.8.15.php" hash="bf0bc110da8ed3f7b56315a6ff5c7103"/><file name="mysql4-upgrade-0.8.15-0.8.16.php" hash="119f891e77b37b2bfa1902a6100e8703"/><file name="mysql4-upgrade-0.8.16-0.8.17.php" hash="6cc567d7432ffe1fd816752ce3968e9b"/><file name="mysql4-upgrade-0.8.17-0.8.18.php" hash="99e19181f870c0be92934fcf94c11ca5"/><file name="mysql4-upgrade-0.8.18-0.8.19.php" hash="63705ff013020bf9ea9fa32a5cd1c7d2"/><file name="mysql4-upgrade-0.8.19-0.8.20.php" hash="8b20d23b8762d3559179c1787b256670"/><file name="mysql4-upgrade-0.8.2-0.8.3.php" hash="6c4685d51fcbc235025d136d21e5cafc"/><file name="mysql4-upgrade-0.8.20-0.8.21.php" hash="9bfd3bb05a815a828e7a1172a94b083b"/><file name="mysql4-upgrade-0.8.21-0.8.22.php" hash="e0d3f4ddf5dd5247c988e895aa3d6de3"/><file name="mysql4-upgrade-0.8.22-0.8.23.php" hash="2ab58a83c8f9a058ccfb0d1b4679c542"/><file name="mysql4-upgrade-0.8.23-0.8.24.php" hash="c155ed1c4bfa5341c496cc07138029cb"/><file name="mysql4-upgrade-0.8.24-0.8.25.php" hash="8e6bb2382269dbb243d9f4c72149a75e"/><file name="mysql4-upgrade-0.8.25-0.8.26.php" hash="43baf31a4445aeed7627e5ded2131cd2"/><file name="mysql4-upgrade-0.8.26-0.8.27.php" hash="fb6ab16d8d951dce412eaf5dbb68a07d"/><file name="mysql4-upgrade-0.8.27-0.8.28.php" hash="a77c3985614fecd5594210988d0e7469"/><file name="mysql4-upgrade-0.8.28-0.8.29.php" hash="6d28baeb420cc75fbca6b57c8a9b61d0"/><file name="mysql4-upgrade-0.8.29-0.9.0.php" hash="0a4087c60fd53c78937f37e400eeeb99"/><file name="mysql4-upgrade-0.8.3-0.8.4.php" hash="49c9703203c22880d6bbaae0b0077550"/><file name="mysql4-upgrade-0.8.6-0.8.7.php" hash="6c4685d51fcbc235025d136d21e5cafc"/><file name="mysql4-upgrade-0.8.7-0.8.8.php" hash="908bfd3db7f9604320d4da1af4623fe1"/><file name="mysql4-upgrade-0.8.8-0.8.9.php" hash="5067ca1cf42fc83e02535dc576396362"/><file name="mysql4-upgrade-0.9.0-0.9.1.php" hash="94c98afbb3dab321fe18a2f411a43608"/><file name="mysql4-upgrade-0.9.1-0.9.2.php" hash="46a9bee30d60aafc06ef8062c850ccb4"/><file name="mysql4-upgrade-0.9.10-0.9.11.php" hash="85c6b75f00dcb9b55d43f74934297785"/><file name="mysql4-upgrade-0.9.11-0.9.12.php" hash="ba81e70efd8d25ad2b70aea0cc34ebeb"/><file name="mysql4-upgrade-0.9.12-0.9.13.php" hash="d65c5e3a285022f148afccac45620391"/><file name="mysql4-upgrade-0.9.13-0.9.14.php" hash="e5c09c14a0bed9d5839c5889f90ec66f"/><file name="mysql4-upgrade-0.9.14-0.9.15.php" hash="4b13fee2809c60d36c6844d8066f3740"/><file name="mysql4-upgrade-0.9.15-0.9.16.php" hash="becb6607d0134c46960991259ad7688d"/><file name="mysql4-upgrade-0.9.16-0.9.17.php" hash="e3def15b7cac3e7922f62d1ddba74121"/><file name="mysql4-upgrade-0.9.17-0.9.18.php" hash="cc8eed29e8f88b95889bb8936f8e1c27"/><file name="mysql4-upgrade-0.9.18-0.9.19.php" hash="60b35d580283517075fd5aeb267dce43"/><file name="mysql4-upgrade-0.9.19-0.9.20.php" hash="dc771038130ae3fe56043b5da05e6625"/><file name="mysql4-upgrade-0.9.2-0.9.3.php" hash="fcc73a33a728a715265acb1dde471a63"/><file name="mysql4-upgrade-0.9.20-0.9.21.php" hash="cb0c3364e1c89b160bf4e552fcc17e68"/><file name="mysql4-upgrade-0.9.21-0.9.22.php" hash="2ffbf9d7615b6200c82df4184257c6de"/><file name="mysql4-upgrade-0.9.22-0.9.23.php" hash="84b7e53b5eb48467c582e5a3fb5a0ac3"/><file name="mysql4-upgrade-0.9.23-0.9.24.php" hash="61deeb2a8e4cec9d2a477321c2167782"/><file name="mysql4-upgrade-0.9.24-0.9.25.php" hash="266c119a6facd3915b43efe9aa60e6d7"/><file name="mysql4-upgrade-0.9.25-0.9.26.php" hash="30f73941ce05f5fb0064376d6ec1fb27"/><file name="mysql4-upgrade-0.9.26-0.9.27.php" hash="9d607f87c05367acc5108bc35267dbb2"/><file name="mysql4-upgrade-0.9.27-0.9.28.php" hash="e12b21bd4364a9c90037907c5e5faa39"/><file name="mysql4-upgrade-0.9.28-0.9.29.php" hash="d76c8dbd3ebbb686be493f70cd9afe82"/><file name="mysql4-upgrade-0.9.29-0.9.30.php" hash="e7635a8301589e9be0079af1ad7b01d7"/><file name="mysql4-upgrade-0.9.3-0.9.4.php" hash="1e56964c6ca31627ee5bc04dafe390bf"/><file name="mysql4-upgrade-0.9.30-0.9.31.php" hash="5351da3d29337b463cd12b9c6765ba02"/><file name="mysql4-upgrade-0.9.31-0.9.32.php" hash="4dfcaa3fee69eca37b5f25df6c43399d"/><file name="mysql4-upgrade-0.9.32-0.9.33.php" hash="6248da914bead9ed0fd5ef3ab9e412eb"/><file name="mysql4-upgrade-0.9.33-0.9.34.php" hash="2768ce258e815cb67a520837fe3a47a5"/><file name="mysql4-upgrade-0.9.34-0.9.35.php" hash="df2e4f1dc28d8353b7aa2421946dce1b"/><file name="mysql4-upgrade-0.9.35-0.9.36.php" hash="4a0d859ef0b4c69870b3eaeed4d445af"/><file name="mysql4-upgrade-0.9.36-0.9.37.php" hash="c62bdd2cf00b0952a7244a65db44bcd9"/><file name="mysql4-upgrade-0.9.37-0.9.38.php" hash="ec05f8b858c37c0dea93eb77380f6041"/><file name="mysql4-upgrade-0.9.38-0.9.39.php" hash="91ed75e00e054bf67caf681bb8f5e70f"/><file name="mysql4-upgrade-0.9.39-0.9.40.php" hash="9e5a3b0e1128f75e9147ab1317816e99"/><file name="mysql4-upgrade-0.9.4-0.9.5.php" hash="3714b986a17d6eb1e23b601c34dab1bc"/><file name="mysql4-upgrade-0.9.40-0.9.41.php" hash="220e2d412c77116c1e66ffb3a21781b8"/><file name="mysql4-upgrade-0.9.41-0.9.42.php" hash="266785c96f2c8749a5ddba6d4366c33b"/><file name="mysql4-upgrade-0.9.42-0.9.43.php" hash="cfd3b55f8b67762d24b9164f0d4722c4"/><file name="mysql4-upgrade-0.9.43-0.9.44.php" hash="b8fad415444e87770e31626f46738038"/><file name="mysql4-upgrade-0.9.44-0.9.45.php" hash="46215a5f44641500fc5758a49020be10"/><file name="mysql4-upgrade-0.9.45-0.9.46.php" hash="e62f6bb08a26192bfaf032eb0a6cf545"/><file name="mysql4-upgrade-0.9.46-0.9.47.php" hash="7c1674670c11bee0f2d4107a1261bdcd"/><file name="mysql4-upgrade-0.9.47-0.9.48.php" hash="3f738c494b2b70dfc622e9f6be041681"/><file name="mysql4-upgrade-0.9.48-0.9.49.php" hash="be3a23a307dd56909d2bc650ccc41664"/><file name="mysql4-upgrade-0.9.49-0.9.50.php" hash="21c27ed39e31746fba42aa894f7436c3"/><file name="mysql4-upgrade-0.9.5-0.9.6.php" hash="ec660fbb133e1e6bd51453255ebf4c9b"/><file name="mysql4-upgrade-0.9.50-0.9.51.php" hash="6a0363c0019604c3bea7cb0e3e24c217"/><file name="mysql4-upgrade-0.9.51-0.9.52.php" hash="9085d690dc27f1317fcf528e413acc40"/><file name="mysql4-upgrade-0.9.52-0.9.53.php" hash="3567bd3103389dd61fde91a6ca48ca79"/><file name="mysql4-upgrade-0.9.53-0.9.54.php" hash="3b96ee5e33b97a42023da26997b16197"/><file name="mysql4-upgrade-0.9.54-0.9.55.php" hash="03ff417b6fb863ece368dbb5f81d5d70"/><file name="mysql4-upgrade-0.9.55-0.9.56.php" hash="e7ca15be03ac7cfac0fcea4b0fa2985b"/><file name="mysql4-upgrade-0.9.6-0.9.7.php" hash="635341008791d12bd8e4bd215d534443"/><file name="mysql4-upgrade-0.9.7-0.9.8.php" hash="890cab701c586792fe8a12ce39ac1f19"/><file name="mysql4-upgrade-0.9.8-0.9.9.php" hash="4b41356735f8ff28b1742c57f5ed1a4a"/><file name="mysql4-upgrade-0.9.9-0.9.10.php" hash="dda8e2af0238f263a5c5f92a14ace840"/><file name="mysql4-upgrade-1.3.99-1.4.0.0.php" hash="77ac2194c56f7bb14383a34de91dbd80"/><file name="mysql4-upgrade-1.4.0.0-1.4.0.1.php" hash="06fe1dc0108327de8543edb5ffc593b7"/><file name="mysql4-upgrade-1.4.0.1-1.4.0.2.php" hash="a1847daa20b04fd39ff6dd0c9953c8af"/><file name="mysql4-upgrade-1.4.0.15-1.4.0.16.php" hash="54ba869b091e90c02c5d201e6f7c0212"/><file name="mysql4-upgrade-1.4.0.16-1.4.0.17.php" hash="9ad817104bcae36c8b1c00d238ae693d"/><file name="mysql4-upgrade-1.4.0.17-1.4.0.18.php" hash="36ffc177e07c0dd213cfdae9d15c8976"/><file name="mysql4-upgrade-1.4.0.18-1.4.0.19.php" hash="7b745587ba63b0be9aced262780b62b5"/><file name="mysql4-upgrade-1.4.0.19-1.4.0.20.php" hash="4d06c0487cfc63f4f9f9d74e34f19001"/><file name="mysql4-upgrade-1.4.0.2-1.4.0.3.php" hash="6e1948d6d323b3ced1bfc7f895f9dc50"/><file name="mysql4-upgrade-1.4.0.20-1.4.0.21.php" hash="72b34c101241c573b18259e380f9f305"/><file name="mysql4-upgrade-1.4.0.21-1.4.0.22.php" hash="adee3c1e3f99eea5ed69aeea869ae720"/><file name="mysql4-upgrade-1.4.0.22-1.4.0.23.php" hash="65065d54f7d632ca505d75125450bad2"/><file name="mysql4-upgrade-1.4.0.23-1.4.0.24.php" hash="029e72643fda31c50c91f59812600862"/><file name="mysql4-upgrade-1.4.0.24-1.4.0.25.php" hash="c48ea044fd5fb5e17d8641260f9aea4d"/><file name="mysql4-upgrade-1.4.0.3-1.4.0.4.php" hash="aadd6c47508e97c907100a9ee4efbb7e"/><file name="mysql4-upgrade-1.4.0.4-1.4.0.5.php" hash="aadc3e1578524b4397df7e1427d69d95"/><file name="mysql4-upgrade-1.4.0.5-1.4.0.6.php" hash="dfbb02e3ae02c8c7a274aa76d9a90d51"/><file name="mysql4-upgrade-1.4.0.6-1.4.0.7.php" hash="0376ceeb6feb2569159eaf4d47461fbc"/><file name="mysql4-upgrade-1.4.0.7-1.4.0.8.php" hash="be028c13c7e7e3cbeb386aa0fdc8c557"/><file name="mysql4-upgrade-1.4.0.8-1.4.0.15.php" hash="961b468624d47a60ea3689926548070b"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="064b60eff0c7933b32977f792f9a29af"/><file name="upgrade-1.6.0.0-1.6.0.1.php" hash="a18bd47beb2638bc79b7b8742cbfd23d"/><file name="upgrade-1.6.0.1-1.6.0.2.php" hash="b9a6a2cdcac55be8f0e03d93aacbf17b"/><file name="upgrade-1.6.0.2-1.6.0.3.php" hash="857f785ecad5f12ad1207c3b492a59b2"/><file name="upgrade-1.6.0.3-1.6.0.4.php" hash="d28e8838f5b0d7323a1d6a984be025b0"/><file name="upgrade-1.6.0.4-1.6.0.5.php" hash="58c7bc285503fcbb93f72247a68bfc87"/><file name="upgrade-1.6.0.5-1.6.0.6.php" hash="eef078b8e6e72a530c633bf79d7af9f5"/><file name="upgrade-1.6.0.6-1.6.0.7.php" hash="9d0d9dbedd6e9f0cc163d61fab6d1b69"/><file name="upgrade-1.6.0.7-1.6.0.8.php" hash="be511c47bb454fda5527d02abb3d355e"/><file name="upgrade-1.6.0.8-1.6.0.9.php" hash="8f1122686f0991af060492948e75229e"/></dir></dir></dir><dir name="SalesRule"><file name="Exception.php" hash="4e9ce8126c516cc05e2ff0cedbe0f20a"/><dir name="Helper"><file name="Coupon.php" hash="076fd16e4bb8955e9b7f939dd70d39cf"/><file name="Data.php" hash="2bdf9d077f4d81ab3e7c900fb5d26d12"/></dir><dir name="Model"><dir name="Coupon"><file name="Codegenerator.php" hash="c8224a37bd1f67dfd70b10327774c0e4"/><file name="CodegeneratorInterface.php" hash="7b15ebeac15c4e87750f68b6e7f21f73"/><file name="Massgenerator.php" hash="85d9dfa52bdfc367c8f9619411487a3d"/></dir><file name="Coupon.php" hash="4cebd26778be971cf1c1514659fa3fba"/><dir name="Mysql4"><dir name="Coupon"><file name="Collection.php" hash="b8b546f6cfc40d1bcc62ae3b98ba56ff"/><file name="Usage.php" hash="28c48eca68e75f5304af95789072c05f"/></dir><file name="Coupon.php" hash="4b078ee80e4e18dfe13b2170b48d9b5a"/><dir name="Report"><file name="Collection.php" hash="b82503dc59eab59ee9a90fd385ba8ad3"/><file name="Rule.php" hash="a07dccccde92de56744b19349c006923"/><dir name="Updatedat"><file name="Collection.php" hash="0673a299aaa19f9fdaa30b51105cf0ce"/></dir></dir><dir name="Rule"><file name="Collection.php" hash="e6a07bfacec4e6739e9a4c20c6685b97"/><dir name="Customer"><file name="Collection.php" hash="2cce404c75e97feea76ed62d400019b1"/></dir><file name="Customer.php" hash="7e2ac0895dad37b0252f2d282062dda4"/><dir name="Product"><file name="Collection.php" hash="fc60274d7949beb2a7d3d172566b3b34"/></dir><file name="Product.php" hash="cc80fd799f39597d876bffed7f9c63e6"/></dir><file name="Rule.php" hash="ec4535389b43e09c3681a372772a9bab"/></dir><file name="Observer.php" hash="6d67a640167d60ad8ade63bf9d61d61f"/><dir name="Quote"><file name="Discount.php" hash="889c7ca97fb7c91e0ff15faa64f817aa"/><file name="Freeshipping.php" hash="9d115f6bf202de539762894215a2c2ea"/><dir name="Nominal"><file name="Discount.php" hash="5ca26a7724b52f3f350ab22043f37ecb"/></dir></dir><dir name="Resource"><dir name="Coupon"><file name="Collection.php" hash="3f3d8eca7a1a0d7a369f8bdd7092f61f"/><file name="Usage.php" hash="c38c2afe3545ed5dff57122735a63565"/></dir><file name="Coupon.php" hash="76121843b67c6ea7ff0ae840683e6add"/><dir name="Report"><file name="Collection.php" hash="6a44c4b951efe14465ff9e1ed87a535d"/><dir name="Rule"><file name="Createdat.php" hash="ae5346dd9a6a2561cb6a4db0c4354ba4"/><file name="Updatedat.php" hash="80d77f02d1c28458c186c13f018f5a8f"/></dir><file name="Rule.php" hash="0205b014096925390bf07e8e0e1514b8"/><dir name="Updatedat"><file name="Collection.php" hash="938a4bd3820ccb3c0bfb2c20f835c53a"/></dir></dir><dir name="Rule"><file name="Collection.php" hash="cbc66e87a2aedb554b49fb99acd46c9d"/><dir name="Customer"><file name="Collection.php" hash="3cd2678e7b2c22765aa867dbcf8678dd"/></dir><file name="Customer.php" hash="aca20264aa59b767a382046391602fac"/><dir name="Product"><file name="Collection.php" hash="a966e01313b05dda88baaee3f32d5a37"/></dir><file name="Product.php" hash="70eb01ef2ff1153711848776dee5222c"/></dir><file name="Rule.php" hash="0c50c2960d17713b0bff7e2c7f5791c2"/></dir><dir name="Rule"><dir name="Action"><file name="Collection.php" hash="14dd3f26a1bee5f17ca0a75ac148427d"/><file name="Product.php" hash="615fca8aecf34bcb0b4a7c4aaab9c16d"/></dir><dir name="Condition"><file name="Address.php" hash="7d57dd2ce9f7d75d654f8ad28946a7ce"/><file name="Combine.php" hash="9ce394da38c750a3d120c493f02227f4"/><dir name="Product"><dir name="Attribute"><file name="Assigned.php" hash="9fd909dfa0a5713b84719b7d9c6ea2ae"/></dir><file name="Combine.php" hash="7e41ce564b3812f80e3463f15797ca63"/><file name="Found.php" hash="dcebfcc174f8a08a87ade98b6100eada"/><file name="Subselect.php" hash="8cc2f695a23a15d167e02635204e5805"/></dir><file name="Product.php" hash="213682586cbe5a9804c2b2e1ba8f9858"/></dir><file name="Customer.php" hash="02503e0189f06db45b1e0ad9623f7680"/><file name="Product.php" hash="7496c3d4f1e0f65659232162c03c4d06"/></dir><file name="Rule.php" hash="45be966f6cb8c52ab162c1243d4b8123"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Coupon"><file name="Format.php" hash="aab8bc179b0f879e9018bb4ea6c001d5"/></dir></dir></dir></dir><file name="Validator.php" hash="16645e0f50764faf9d4a801984cbe08d"/></dir><dir name="etc"><file name="adminhtml.xml" hash="3d731d199aa29013967a4c94df199800"/><file name="config.xml" hash="ee1d5d33d50227d739c96a706da2889a"/><file name="system.xml" hash="64919875d3da8f8293043eca7b2ce4ee"/></dir><dir name="sql"><dir name="salesrule_setup"><file name="install-1.6.0.0.php" hash="ef3da9f4e8acb17930893c977d34d6fd"/><file name="mysql4-install-0.7.0.php" hash="921d2d467926e0c13eb16dd7334e1714"/><file name="mysql4-install-1.4.0.0.0.php" hash="fcce54959c45dc58d17fe29dd42bf746"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="602b1c05470ccc732de48775df2aca1f"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="1aec3621f741a3415352319c44ee9391"/><file name="mysql4-upgrade-0.7.10-0.7.11.php" hash="172c35aa21c558d5520920d30aca7f24"/><file name="mysql4-upgrade-0.7.11-0.7.12.php" hash="57c383376a15ee04a6f21001e3c1ad90"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="39a55db2190f2535372cad2fad462402"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="0ca2bfede8d72e5c0a5a8b7e47f4b85f"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="01d99c8f79297bf54852166aa401f1e6"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="c45aeb3a84820efddcd1de502493a9ea"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="26a9138f7d291e945c59e3e1bc48c1ef"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="48352dc01f70b8c184e6677a5e776a80"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="e67d8f6a232817d4fab99b30471195c0"/><file name="mysql4-upgrade-0.7.9-0.7.10.php" hash="537402ce4301806c8be55a7bf376ff87"/><file name="mysql4-upgrade-1.4.0.0.0-1.4.0.0.1.php" hash="03840fca31a1928a99b08adfd7ad0976"/><file name="mysql4-upgrade-1.4.0.0.1-1.4.0.0.2.php" hash="a781ab1205e762153abbb5c60fb77ccb"/><file name="mysql4-upgrade-1.4.0.0.2-1.4.0.0.3.php" hash="ba7ea46031b11752fba84f6244f8aed3"/><file name="mysql4-upgrade-1.4.0.0.3-1.4.0.0.4.php" hash="7424333756913c7c02c1feafc0738c59"/><file name="mysql4-upgrade-1.4.0.0.4-1.4.0.0.5.php" hash="83ec6ae7e67f25b8073d5a356c730032"/><file name="mysql4-upgrade-1.4.0.0.5-1.4.0.0.6.php" hash="69290121e8067ac32bf79d16617273c3"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="50ca737624508b3318fade4851d1f99d"/><file name="upgrade-1.6.0.0-1.6.0.1.php" hash="9697fc94895bdd8b83bbc87661251963"/><file name="upgrade-1.6.0.1-1.6.0.2.php" hash="c9eb0dea1d0f89eee0f9c8386ba59e70"/><file name="upgrade-1.6.0.2-1.6.0.3.php" hash="8078a6356fca81229d3c09564a31dfa6"/></dir></dir></dir><dir name="Sendfriend"><dir name="Block"><file name="Send.php" hash="c434b505c781fda4ab54a44bfef0f363"/></dir><dir name="Helper"><file name="Data.php" hash="aa58040f89e873a52494cc84163f7b0a"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Sendfriend"><file name="Collection.php" hash="bcec0fd092d5bb47d97118030b574c1b"/></dir><file name="Sendfriend.php" hash="9b077a178f5cb29936332e449b206a90"/><file name="Setup.php" hash="265fa95c0e1934505dc0eaa021bad797"/></dir><file name="Observer.php" hash="0b3d5d71bf38a919b0ab7fefe67de9bd"/><dir name="Resource"><dir name="Sendfriend"><file name="Collection.php" hash="24f71b975d71cdc73e24417a8683b7ee"/></dir><file name="Sendfriend.php" hash="ee8e444138548e24f3650add38e20847"/><file name="Setup.php" hash="174c0cdd833448fe0737b73fd70f55b5"/></dir><file name="Sendfriend.php" hash="5de6284f9cdc19648296209a2f5d7190"/></dir><dir name="controllers"><file name="ProductController.php" hash="58d8e8660033fe5fa3a7e61c9984a9b2"/></dir><dir name="etc"><file name="config.xml" hash="ef5c6e640f4e7ab18df16a53bd0629c3"/><file name="system.xml" hash="57041fc5b58220a0cd050bc55c70631d"/></dir><dir name="sql"><dir name="sendfriend_setup"><file name="install-1.6.0.0.php" hash="43d65881ae4702ba24cc60b266144865"/><file name="mysql4-install-0.7.0.php" hash="6350ae8dc9c3f285eaeaf45e406c6b1c"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="c0814a6cbc54356121ec60bbab931889"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="c38e9d633fc193e475c355afabfa6b34"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="88af0150e5a4515e87947f1ddacfd927"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="e441c905520470f0b38ec23a2276416a"/><file name="mysql4-upgrade-1.6.0.0-1.6.0.1.php" hash="b744deb766c95fae2c6ccf1356a7f6fc"/></dir></dir></dir><dir name="Shipping"><dir name="Block"><dir name="Tracking"><file name="Ajax.php" hash="c5a1e6b590e05d731e8eef9624501c07"/><file name="Popup.php" hash="ea5e6055e4516698522332e096edde09"/></dir></dir><file name="Exception.php" hash="35143e238e766f5c7227ea766991de32"/><dir name="Helper"><file name="Data.php" hash="296032d034f6215955a082415204d33e"/></dir><dir name="Model"><dir name="Carrier"><file name="Abstract.php" hash="22c814e5584e75f59252df24c660a679"/><file name="Flatrate.php" hash="32af10507ddcd512656d0cab1dabbe8f"/><file name="Freeshipping.php" hash="9ae21e34b64d99c06cbea33af1636c58"/><file name="Interface.php" hash="8834c6a20c305611bfa9f54449b61ac7"/><file name="Pickup.php" hash="c2b55a625a3111ef8148d971c4037099"/><file name="Tablerate.php" hash="315766cec4a075d5060ea2bd8467a6eb"/></dir><file name="Config.php" hash="b2d41b1048749a80177b4c0f35a902a7"/><file name="Info.php" hash="5ef452697059312e316d011205d220de"/><dir name="Mysql4"><dir name="Carrier"><dir name="Tablerate"><file name="Collection.php" hash="b2947c163acd20e4186cf6de1327db3c"/></dir><file name="Tablerate.php" hash="0a9027c484b45aa2b2039e9102c207bf"/></dir></dir><dir name="Rate"><file name="Abstract.php" hash="a846366861445de8064ad961a063f455"/><file name="Request.php" hash="da53b2509c54cc9446e6944e441853a7"/><dir name="Result"><file name="Abstract.php" hash="c285a4e19c7d7deaf76648a8503ef357"/><file name="Error.php" hash="837d9bc34da0c3721f40fef8698613f6"/><file name="Method.php" hash="cc8a4e4f3ac3b51002c8ff72b195ceca"/></dir><file name="Result.php" hash="0ece73d8d4d0da4e5cdf6a7ecaf51de0"/></dir><dir name="Resource"><dir name="Carrier"><dir name="Tablerate"><file name="Collection.php" hash="8ab50521bd064d60a29ebd755490e522"/></dir><file name="Tablerate.php" hash="698b13767acab216353a8aaad8b3a27b"/></dir></dir><dir name="Shipment"><file name="Request.php" hash="c9fb828ca234d36b1161402fc449f70b"/><file name="Return.php" hash="67d08700e7215f5f39ed7c2d13717527"/></dir><file name="Shipping.php" hash="d7409cdf2e31beba185c7969e511543a"/><dir name="Source"><file name="HandlingAction.php" hash="dd48d76f60399c612e8162834293157e"/><file name="HandlingType.php" hash="7601bea631571182aec8e2eac9635bc6"/></dir><dir name="Tracking"><dir name="Result"><file name="Abstract.php" hash="d10fe8e3929b5f4d37fa7815bbd6cb33"/><file name="Error.php" hash="7e429bbf73f960c86ea98c39ac97bcb2"/><file name="Status.php" hash="097b6ccdcfef61790f074621a98d9df7"/></dir><file name="Result.php" hash="6ab087d47eb717cad17fda03bc712c3e"/></dir></dir><dir name="controllers"><file name="ShippingController.php" hash="cc5ab865a08b42a5d843ccbd4b0e5d70"/><file name="TrackingController.php" hash="db1a9965e8475e038fe8ef4b7b90f2c7"/></dir><dir name="etc"><file name="adminhtml.xml" hash="563e17ed4b244f4b005594e4e2e6b1db"/><file name="config.xml" hash="cf72271df9c7d3d4c3b5fd312ad13a5b"/><file name="system.xml" hash="9c9d5cbb5633744f3c7c6664ff05babe"/></dir><dir name="sql"><dir name="shipping_setup"><file name="install-1.6.0.0.php" hash="a338147f6f1aaf4a493898c5ebdb48d1"/><file name="mysql4-install-0.7.0.php" hash="3b35de934df04b9d397198109ce75771"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="ddbe84100c05437c3d7adcf6c3c4538b"/></dir></dir></dir><dir name="Sitemap"><dir name="Helper"><file name="Data.php" hash="6bf2e0bffe2507a5ab90a99f94de549b"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Catalog"><file name="Category.php" hash="3b3c1da8c0d2fd3dc22129593b360754"/><file name="Product.php" hash="67a0941366203e4657a2e25224067729"/></dir><dir name="Cms"><file name="Page.php" hash="c494cb8fab1bfec8fd17133511a184ae"/></dir><dir name="Sitemap"><file name="Collection.php" hash="51d5ca69a0bf7c7a3350f29025479b05"/></dir><file name="Sitemap.php" hash="b197605bff45bf1ae94cefc9d182c0e9"/></dir><file name="Observer.php" hash="19e6519062d6d06ad66831b30b7eaf86"/><dir name="Resource"><dir name="Catalog"><file name="Abstract.php" hash="0a50ee109df005dae5b37606fa7289aa"/><file name="Category.php" hash="7b6420762899f1a0cdaa8fc7fab0fa1a"/><file name="Product.php" hash="5e3eb5ba9ef747cf8dbd8355e91f7fad"/></dir><dir name="Cms"><file name="Page.php" hash="5b8ecd1bb5badfd408d1a65302ff68bb"/></dir><dir name="Sitemap"><file name="Collection.php" hash="5a92728a6851d4d54876becc785e7825"/></dir><file name="Sitemap.php" hash="5079efecbd47bcef141d0654f5169c1c"/></dir><file name="Sitemap.php" hash="44e59d049b5e1a4e263e74ef831d21fb"/></dir><dir name="etc"><file name="adminhtml.xml" hash="29e3669211e4ae919b59651711f278ca"/><file name="config.xml" hash="c92b7da47c8637b25149acaf873dec65"/><file name="system.xml" hash="2dfd284d2aa8ba4930a87e56f570287b"/></dir><dir name="sql"><dir name="sitemap_setup"><file name="install-1.6.0.0.php" hash="e3968f0b4ce2e8be3235b0584a063bc3"/><file name="mysql4-install-0.7.0.php" hash="81da61d8119b5bd005d0ebd0d8bbddf4"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="4f37efc4880b12ae9728a9e7d656d394"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="a140e5675116c2a5c19decc82945c959"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="7e3ed5e46f2cedad36ccdedf71f55e5e"/></dir></dir></dir><dir name="Tag"><dir name="Block"><file name="All.php" hash="5868297a4e88127a4bb9ca1ebed5f051"/><dir name="Customer"><file name="Edit.php" hash="258912c59d4ef9b2ff70ceeed0c04784"/><file name="Recent.php" hash="246c4f4a146e74da1b71729c7790f650"/><file name="Tags.php" hash="c6e67247b85824e129cf3ab9be98bacb"/><file name="View.php" hash="faa3f0ef1bfffd7ee1146d1687150364"/></dir><file name="Popular.php" hash="ed2e1e13560d1e5a46aa42c7857ad989"/><dir name="Product"><file name="List.php" hash="f6b954ac9d96b8b7c013517b0ecf3aa6"/><file name="Result.php" hash="2b8a66d8d9764abd707a94e25b10901a"/></dir></dir><dir name="Helper"><file name="Data.php" hash="6d824384b0a0df4ff33d2924f4d71e4d"/></dir><dir name="Model"><dir name="Api"><file name="V2.php" hash="cba9328c2322e37faeabcdeebd250079"/></dir><file name="Api.php" hash="1c6601f744d27c86454fbe6e1a958d92"/><dir name="Entity"><dir name="Customer"><file name="Collection.php" hash="3920e0f353d3a60ec2d24bc5d8571432"/></dir></dir><dir name="Indexer"><file name="Summary.php" hash="d473f8924e47bffff6b7e9869929b23d"/></dir><dir name="Mysql4"><dir name="Customer"><file name="Collection.php" hash="9c19636f6295507833217724043fe081"/></dir><dir name="Indexer"><file name="Summary.php" hash="47d61d186011e402e542a6a3419bb2b2"/></dir><dir name="Popular"><file name="Collection.php" hash="ea10d8f4f6061681d38990bdba934d64"/></dir><dir name="Product"><file name="Collection.php" hash="b6b622f9be67ea9d8859264f1ea9294a"/></dir><dir name="Tag"><file name="Collection.php" hash="2b207742defcf9cf5c4b3292ed8df272"/><file name="Relation.php" hash="47a7cd136e3d7d027ab53796da9ff7b9"/></dir><file name="Tag.php" hash="c9ba40a21577912877ab199a000f304f"/></dir><dir name="Resource"><dir name="Customer"><file name="Collection.php" hash="5010a57b9a4e8bf17f7b5923e0a9093a"/></dir><dir name="Indexer"><file name="Summary.php" hash="d0db0c94263cfff4b6ec4fcd93adaec2"/></dir><dir name="Popular"><file name="Collection.php" hash="0364f1f31a80002d86f35fb14a6cdec7"/></dir><dir name="Product"><file name="Collection.php" hash="9edba493f4930ab9609b4691be8034c1"/></dir><dir name="Tag"><file name="Collection.php" hash="934a0e6bd72d71428e0f194d9378454a"/><file name="Relation.php" hash="a90fe31d40b3868fe645875a1678eb6e"/></dir><file name="Tag.php" hash="a90b12859d75f1df33cb272416fcb4f2"/></dir><file name="Session.php" hash="887fe96718898876b4a578ada3d6383f"/><dir name="Tag"><file name="Relation.php" hash="4b89602602795ef3c676f8224ca1f67b"/></dir><file name="Tag.php" hash="16a05f65e9436a81c94e86e7b139d320"/></dir><dir name="controllers"><file name="CustomerController.php" hash="907597af877a272d98b41b98ee5734fb"/><file name="IndexController.php" hash="e0c8d1c26b7c31575b89b64cdb359493"/><file name="ListController.php" hash="0226fbf3b3859928a743750b76032438"/><file name="ProductController.php" hash="b358d421a65aaa04fd765e5eb9a6c329"/></dir><dir name="etc"><file name="adminhtml.xml" hash="c156d6c981708ce6343c545676a566ba"/><file name="api.xml" hash="cadb3e216a39b6c3a602edf4417876f7"/><file name="config.xml" hash="034241040fff18a71676cae97d9d4115"/><file name="wsdl.xml" hash="e87343a710e0068dcc555ffc4b302a9b"/><file name="wsi.xml" hash="1d31787826a686590acf89ec2703b76e"/></dir><dir name="sql"><dir name="tag_setup"><file name="install-1.6.0.0.php" hash="c2808c718e9bdc908d28261c9ee76f9d"/><file name="mysql4-install-0.7.0.php" hash="fd4ebd48a951f70fd32f851bdbdeb1e5"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="4fbdf351be48eea3acb1ad470fa65a99"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="4a0f89a08120b9e700c71b7199ec741c"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="005cffca4b5b4053e130daa6eefe8a21"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="e84392accba5a720747d9fd03a37f7e2"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="3384bc150777de038c48cd21fc372a29"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="dd94e312998fbf44bafb7880bacd0d49"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="1927c716b1a865eb6234cec1ed65ea94"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="1893d8e7ec128b9fa59a46faafd09729"/></dir></dir></dir><dir name="Tax"><dir name="Block"><dir name="Adminhtml"><dir name="Frontend"><dir name="Region"><file name="Updater.php" hash="eae742c088fd0e5b8b6ec655e942e67a"/></dir></dir><file name="Notifications.php" hash="f5d2958cccdf0e1ca75eed8022438632"/></dir><dir name="Checkout"><file name="Discount.php" hash="ab6c338885260bdc52b8cd2513786ed4"/><file name="Grandtotal.php" hash="305ad755a3ea293f2b7f4fe217d03ca6"/><file name="Shipping.php" hash="868f6ebc4627984359f1d243b3398c6b"/><file name="Subtotal.php" hash="ca0c91a818c57b317a948a6d2ea2236e"/><file name="Tax.php" hash="349db923d8eb0e6eb3693f64030324c7"/></dir><dir name="Sales"><dir name="Order"><file name="Tax.php" hash="0b517168e0b884108d824dd19c3b2f58"/></dir></dir></dir><file name="Exception.php" hash="134817f848225bfc88be851553dafba6"/><dir name="Helper"><file name="Data.php" hash="9a04b7305f7b9dfbc3362a70f022b317"/></dir><dir name="Model"><dir name="Calculation"><dir name="Rate"><file name="Title.php" hash="cbe6e35f9febbca8ffb9629827a68b73"/></dir><file name="Rate.php" hash="0fbab9716f22a83de77c0ca0c94aeb40"/><file name="Rule.php" hash="7eb4f5f529562d80e5fd99b4c47d5cb3"/></dir><file name="Calculation.php" hash="c765c9e1fe7ea167e1e53349a9e18a33"/><dir name="Class"><dir name="Source"><file name="Customer.php" hash="f6d06efe47e7c5685959e956a2a6dea5"/><file name="Product.php" hash="c0e88ffb2aeb60a496ba466c1cedfd8e"/></dir></dir><file name="Class.php" hash="f14fae96db3b13b77d2ed485f73cfa9d"/><dir name="Config"><file name="Notification.php" hash="4f21ea9d9c67ca63f39c72771b088e40"/><dir name="Price"><file name="Include.php" hash="bad0b10bf559e7bbb3e715b3c5eb0d11"/></dir></dir><file name="Config.php" hash="b731a3ff3197d4faeb79286a4d5f52a7"/><dir name="Mysql4"><dir name="Calculation"><file name="Collection.php" hash="a9b28eff948b411a9a70e5f1e9245f20"/><dir name="Rate"><file name="Collection.php" hash="57ce00827e2914026ff258fda5f3c731"/><dir name="Title"><file name="Collection.php" hash="6be6eabadf9ad24b4e47769158d13ede"/></dir><file name="Title.php" hash="921e2513afbfc66b2fbc10498f5fe397"/></dir><file name="Rate.php" hash="2bdb808f9eca4c199b3ee26bf200015b"/><dir name="Rule"><file name="Collection.php" hash="67300fb90e8f5773666d6cb6a432ef1f"/></dir><file name="Rule.php" hash="830b09ef81c38eccd2b5ac6bacac4ade"/></dir><file name="Calculation.php" hash="f275709492086311b846aaf2ee442b54"/><dir name="Class"><file name="Collection.php" hash="09e5e413d73f207202239eac8915005b"/></dir><file name="Class.php" hash="ec615ab1523b103ffcb2f621467cfb12"/><dir name="Report"><file name="Collection.php" hash="f22a869db862de20e3e8c485b647c933"/><file name="Tax.php" hash="a4ac98f09c37a2ae4330db5d1f3ce7ef"/><dir name="Updatedat"><file name="Collection.php" hash="71b0d744219c130601545e6cc2448f25"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Tax"><file name="Collection.php" hash="4297ca6f020cc2e3edc4fabbb6b5bd1d"/></dir><file name="Tax.php" hash="a6c454efc6cf663ca14785ed339ff465"/></dir></dir><file name="Setup.php" hash="1538915edef549c61d74f1306d8dd232"/></dir><file name="Observer.php" hash="571696862a48d431b8d4e4adb7501714"/><dir name="Resource"><dir name="Calculation"><file name="Collection.php" hash="8fd71d2be5abbc50bfc23b043bf27100"/><dir name="Rate"><file name="Collection.php" hash="232d6cbb5b9ea727c9f2c22b89bdd4c0"/><dir name="Title"><file name="Collection.php" hash="81d4993f07b85ffcbca0331974aeeee3"/></dir><file name="Title.php" hash="350855d6219dc7c02753ca9be5fb9b59"/></dir><file name="Rate.php" hash="1c9a4255898b508393364396dbdce096"/><dir name="Rule"><file name="Collection.php" hash="b6fd0f7c8c36cc10c605a8b2726b33b1"/></dir><file name="Rule.php" hash="4c81eb1f8bc2c0251e4876f32ea1e6ba"/></dir><file name="Calculation.php" hash="4a73463dcf5237633e361800eacdd09e"/><dir name="Class"><file name="Collection.php" hash="13073a929e7c02c87753acc6d0bd38fc"/></dir><file name="Class.php" hash="4502445de0970861f4b87042cd30aeb6"/><dir name="Report"><file name="Collection.php" hash="fd18217a781af914988f81eec1660662"/><dir name="Tax"><file name="Createdat.php" hash="ef65059e92035ebf976b937c1fec0b91"/><file name="Updatedat.php" hash="3b9dabbd4d9ef21bd2d2a520549b6964"/></dir><file name="Tax.php" hash="7b158c0744d9f0badaa63b10271811c1"/><dir name="Updatedat"><file name="Collection.php" hash="8632c08217b29740d214ad1e37c7064a"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Tax"><file name="Collection.php" hash="55c5363e2074c9af59f044765553c51a"/><dir name="Item"><file name="Collection.php" hash="f41bbd5588c871de548716219798dd73"/></dir><file name="Item.php" hash="e1d727a298e4295e605a6a9486d04d9b"/></dir><file name="Tax.php" hash="6250a0bfb54b43010137d7725bcd1088"/></dir></dir><file name="Setup.php" hash="2c29db94902284cd174e19a2ce14f9b2"/></dir><dir name="Sales"><dir name="Order"><dir name="Tax"><file name="Item.php" hash="f336fd2059e5761bc6f2a5bfeca11978"/></dir><file name="Tax.php" hash="4717bd548a8a5e2fdc7121a470f8b4d8"/></dir><dir name="Pdf"><file name="Grandtotal.php" hash="78a9facf89b73f40d677721a7a5fffdf"/><file name="Shipping.php" hash="2de97a1a33ec131e74df18b328017e64"/><file name="Subtotal.php" hash="29c6e113f41814271d69673ecc8dd649"/><file name="Tax.php" hash="d6fa76691b87d52a36723b15f976acf9"/></dir><dir name="Total"><dir name="Quote"><file name="Discount.php" hash="3a4297a2c36d17e5e8e7db701e53144e"/><dir name="Nominal"><file name="Subtotal.php" hash="3a9f825f68d8445d2b632cae70b83dbc"/><file name="Tax.php" hash="2301b2eafae1780330deff59cf3032fd"/></dir><file name="Shipping.php" hash="2ee60af500b52acc5bae799593c26841"/><file name="Subtotal.php" hash="2eea1fa38f7b253f4431aa424daefe25"/><file name="Tax.php" hash="d658f47c72675e6908b9f8c9d25a791a"/></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Algorithm.php" hash="e8d0092465380aeaa9a89e8c3804e21f"/><file name="Apply.php" hash="8d06d8938dfd4960d10f4278b842b294"/><file name="PriceType.php" hash="a4a573c741e05bec3b04de7c5cae0e0c"/><dir name="Tax"><file name="Country.php" hash="850f8683eef4258523323d565bb8b43a"/><dir name="Display"><file name="Type.php" hash="fab5dca34c90f0c7a0bba273bd2cd319"/></dir><file name="Region.php" hash="2443ba70dc76ecf71af26c94c33d1b04"/></dir></dir></dir></dir></dir><dir name="data"><dir name="tax_setup"><file name="data-install-1.6.0.0.php" hash="73cd3a6c8f182f686f2fb61824b6ffd7"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="3d99f2ea678fdd83f0f9f5c115a971a0"/><file name="config.xml" hash="83bef9b0e62f56240968ef1970425ff3"/><file name="system.xml" hash="7220c5958c58856ece69bb3d6458c0e6"/></dir><dir name="sql"><dir name="tax_setup"><file name="install-1.6.0.0.php" hash="4c14e324b02ceb79258ccbd98e474389"/><file name="mysql4-install-0.7.0.php" hash="5571445e2b9e43bb63658b3c8801e5a9"/><file name="mysql4-install-1.4.0.0.php" hash="f3c2df0be2d8e7d9dc9815a4ddf2318d"/><file name="mysql4-upgrade-0.6.1-0.7.0.php" hash="7068af799ffa77608f336152e1b66187"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="be1ca656fff19428909b3335c7673580"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="c7b8f3aa6abc242c671fa7e3a7052f3b"/><file name="mysql4-upgrade-0.7.10-0.7.11.php" hash="2ef9e7c6f005ef5f9153423d16a88f96"/><file name="mysql4-upgrade-0.7.11-0.7.12.php" hash="f470a41fbd7b5af3747f381db54aac40"/><file name="mysql4-upgrade-0.7.12-0.7.13.php" hash="2e63c1b0b9226c21a4c313ada8ddb06d"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="b57330d4ee03ad16d075ca7e84185682"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="9aad92fcfba9178f923eb977b2b7d8bf"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="8ba0f98f056b1b527ea48ec7fc95ed7a"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="672255066405d197b12896d83c8d9b78"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="b3a91bda34376d031f1f70825256674e"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="c06869f49954a9fdf9a4e058b2955019"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="184f1afe963a5a49c6af3b69df2e39bc"/><file name="mysql4-upgrade-0.7.9-0.7.10.php" hash="5a8c1f51dbe5b4fd4789dc36a74bf1e4"/><file name="mysql4-upgrade-1.3.9-1.4.0.php" hash="30c7713f0e1e098c44f3d20fcd2dc0d9"/><file name="mysql4-upgrade-1.4.0.0-1.4.0.1.php" hash="4665a694d158f1c9f1b0a9b8ada53c6f"/><file name="mysql4-upgrade-1.4.0.1-1.4.0.2.php" hash="e047de6af7a34d3e486f4b5ccd752f2c"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="210748a7fde45c907a388cc38fcfd429"/><file name="upgrade-1.6.0.0-1.6.0.1.php" hash="f8f34e33effab8b964e9f27d5f8fab92"/><file name="upgrade-1.6.0.1-1.6.0.2.php" hash="8bb7f207b0d724b20598bfa053051439"/><file name="upgrade-1.6.0.2-1.6.0.3.php" hash="08d57d78afe883166f29c87441eca701"/><file name="upgrade-1.6.0.3-1.6.0.4.php" hash="6f5d36e28af9da0fcc659c33fb1a4c40"/></dir></dir></dir><dir name="Usa"><dir name="Block"><dir name="Adminhtml"><dir name="Dhl"><file name="Unitofmeasure.php" hash="aa6d70fd5c2fb7fdb83aa476ab3a334d"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="ce1c2a972ce6ea88f6016c6921aa2668"/></dir><dir name="Model"><dir name="Shipping"><dir name="Carrier"><dir name="Abstract"><dir name="Source"><file name="Mode.php" hash="c4b7333d787083278d14dd5a6b57598a"/><file name="Requesttype.php" hash="2231301ef94bc0c85d79831e47f38362"/></dir></dir><file name="Abstract.php" hash="475e8dcdfb6bc5c050b14682884de1a0"/><dir name="Dhl"><file name="Abstract.php" hash="a33e2e899d52d1f37cf6a731a58889c8"/><dir name="International"><dir name="Source"><file name="Contenttype.php" hash="b4db2fda105ce4200c6021c7bcbc3d1f"/><dir name="Method"><file name="Abstract.php" hash="dec66cd92cdc58bb28a3f4e8417449da"/><file name="Doc.php" hash="a9b7aad608a6c3c963d170937da2d39d"/><file name="Freedoc.php" hash="2e46f7c2cbff611fbf89a0a6068bfb64"/><file name="Freenondoc.php" hash="36e5c8cc9940c627cc9fec162ca36d37"/><file name="Nondoc.php" hash="76b0b629ed4a8cb9dcea909c99ffe305"/><file name="Size.php" hash="194cdfe6d8e4aa40804a05887c0ba461"/><file name="Unitofmeasure.php" hash="6e171bf090ff7423207099c4df65782f"/></dir></dir></dir><file name="International.php" hash="033b849caad3f97d08febd44ad399700"/><dir name="Label"><dir name="Pdf"><file name="Page.php" hash="99c2322ff56b8891c8e18bbece736677"/><file name="PageBuilder.php" hash="8407592238dc66f9f74547602ebdbfb0"/></dir><file name="Pdf.php" hash="046eba823e0bd8ed3ad8ee0bbdc0cdd7"/></dir><dir name="Source"><file name="Dutypaymenttype.php" hash="65b9a133d8b23d521903c1ca38cbba6d"/><file name="Freemethod.php" hash="60f5169fc5a3d60bbccd10fa7d674463"/><file name="Method.php" hash="91249bbb0a60708a7b6c1e2e919643ad"/><dir name="Protection"><file name="Rounding.php" hash="494a0ef4bd57ae523578df64dd60720f"/><file name="Value.php" hash="d1298eb253fd835f3f854a353db2f25f"/></dir><file name="Shipmenttype.php" hash="41a9dc1755d603b1fe2ac420eaac67e1"/></dir></dir><file name="Dhl.php" hash="39a649ca0abb94f6faecc7d25bb60d33"/><dir name="Fedex"><dir name="Source"><file name="Dropoff.php" hash="1ad1f1d123bef11d3eba5e4227ee6337"/><file name="Freemethod.php" hash="a3553e0f71095f8e04cabe0c67b97172"/><file name="Method.php" hash="0fe8a73c64ae7eaf99826998c712c844"/><file name="Packaging.php" hash="f38f31e935180278934d4ed6010a3475"/><file name="Unitofmeasure.php" hash="5f96db4caf4086665c91b450c51e9783"/></dir></dir><file name="Fedex.php" hash="da3c5444be0eea0bf2a2f12599c2df6e"/><dir name="Ups"><dir name="Source"><file name="Container.php" hash="2f0b789d516fc028c3c1a2474e238bc8"/><file name="DestType.php" hash="8464331937887875496d14cb570ce9f2"/><file name="Freemethod.php" hash="144eab21d02ddc5aaa560edeb0e519fa"/><file name="Method.php" hash="65ca936d439cc03198d0523cbf3be5a8"/><file name="Mode.php" hash="1805aee8fbdff130f3bdfb3c46feaa21"/><file name="OriginShipment.php" hash="7adfc5192d9f5205a0554990510744e9"/><file name="Pickup.php" hash="6ba1bcb3fde3ddb56b1e1842ed3f54da"/><file name="Type.php" hash="0bd501f64815ed42deba122a48e30a8d"/><file name="Unitofmeasure.php" hash="451ad9bda2daa0b7cc0291e6f49c5ee6"/></dir></dir><file name="Ups.php" hash="f12d189d938af40ed795c776ff119c98"/><dir name="Usps"><dir name="Source"><file name="Container.php" hash="cc193d35a2c48ebdfc607f2a6aa22fea"/><file name="Freemethod.php" hash="8d55016301502a5e90a20ed0be3bcd0a"/><file name="Machinable.php" hash="ea50b2832ff3d7557eeaf1d5558900aa"/><file name="Method.php" hash="c798b9f38f95eb82476fbf3a7e2c4161"/><file name="Size.php" hash="adf168c941988427f20eff4d614b6500"/></dir></dir><file name="Usps.php" hash="75c6446fda616022a929da5183bcf930"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="c41c02c264559f4178ae53eaab88f968"/><dir name="dhl"><dir name="international"><file name="countries.xml" hash="6dcdf8dfc8d3e0e87655f602bd485e92"/></dir></dir><file name="system.xml" hash="0ec2e27fb22e21659ed49714b5fcedbb"/><dir name="wsdl"><dir name="FedEx"><file name="RateService_v10.wsdl" hash="352ed0cd739b31d42d206aba31bf4c31"/><file name="RateService_v9.wsdl" hash="5e698519a3b3ae3dcea2105545053763"/><file name="ShipService_v10.wsdl" hash="4e661e70491a1af695c27878610054e2"/><file name="ShipService_v9.wsdl" hash="9c3779aa87540dcae41b43b16b724df6"/><file name="TrackService_v5.wsdl" hash="89cc7077a8fc439446e70bac0ca0f0c1"/></dir></dir></dir><dir name="sql"><dir name="usa_setup"><file name="install-1.6.0.0.php" hash="68ec9644080ba8163104e983fdbcb9bb"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="83250a3964db7956e84f62eddb3be1ac"/><file name="upgrade-1.6.0.0-1.6.0.1.php" hash="ebee347b03130506141a635c34847aa9"/><file name="upgrade-1.6.0.1-1.6.0.2.php" hash="45b2c1803f13a7c18b4a812b797c4603"/><file name="upgrade-1.6.0.2-1.6.0.3.php" hash="1553fcefb1914c86a831894128126a35"/></dir></dir></dir><dir name="Weee"><dir name="Block"><dir name="Element"><dir name="Weee"><file name="Tax.php" hash="23f63c80fff28f6a432086a899da263e"/></dir></dir><dir name="Renderer"><dir name="Weee"><file name="Tax.php" hash="057294cd195b3fb4ca5c1737cc7b0eaf"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="9cb6e70dbddb395a5c8ef5a58401b9bf"/></dir><dir name="Model"><dir name="Attribute"><dir name="Backend"><dir name="Weee"><file name="Tax.php" hash="3c3579878bb1df64f30e91934d54e7eb"/></dir></dir></dir><dir name="Config"><dir name="Source"><file name="Display.php" hash="57693773a99739bb0d20bfe03c77de23"/><dir name="Fpt"><file name="Tax.php" hash="1e8024ae0da70cbc9a9872c2a6a0ac83"/></dir></dir></dir><dir name="Mysql4"><dir name="Attribute"><dir name="Backend"><dir name="Weee"><file name="Tax.php" hash="328e308a784c9cebc94f31035db8e250"/></dir></dir></dir><file name="Setup.php" hash="2cf0f2771b2f1867ef03f421e5340f82"/><file name="Tax.php" hash="18ee47054f3ec738b8c28aec79dfdb7e"/></dir><file name="Observer.php" hash="2931a779d0cf79d91b811a180328273c"/><dir name="Resource"><dir name="Attribute"><dir name="Backend"><dir name="Weee"><file name="Tax.php" hash="8e7788f1ae65b900a08796ce191494da"/></dir></dir></dir><file name="Setup.php" hash="9271d672996dcb9d13e712d7dbe4f2c9"/><file name="Tax.php" hash="27762b8450a0d9804ceaa4c9082712e1"/></dir><file name="Tax.php" hash="c48fa3fc37b885bad8d9404f9a3c769c"/><dir name="Total"><dir name="Creditmemo"><file name="Weee.php" hash="019940c068e8893f5790e20cbd329998"/></dir><dir name="Invoice"><file name="Weee.php" hash="4c13fc79c012c2d94cb1bb602c7362c3"/></dir><dir name="Quote"><dir name="Nominal"><file name="Weee.php" hash="94f2ae2dd989fc2717b998c71861e3d1"/></dir><file name="Weee.php" hash="1eedda120ad286228975e2857184b362"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="fd17dbd55bb0f290feb984e82482ecb1"/><file name="system.xml" hash="ef40deebb9016cde8ee08a7cdbda1711"/></dir><dir name="sql"><dir name="weee_setup"><file name="install-1.6.0.0.php" hash="bfc75c8a7df559a92ffcd186bf53c0f3"/><file name="mysql4-install-0.1.php" hash="f7423f7460bbfab30e71b47e344fa159"/><file name="mysql4-upgrade-0.1-0.2.php" hash="6d72ffda83cad4435f67ec8284a6fdfd"/><file name="mysql4-upgrade-0.10-0.11.php" hash="d8db1bff60b64f0b876a7d9319760e19"/><file name="mysql4-upgrade-0.11-0.12.php" hash="6da6743057f0a4e32ed3e0ee97839327"/><file name="mysql4-upgrade-0.12-0.13.php" hash="153d446b9255e40f77023eb9088380a2"/><file name="mysql4-upgrade-0.2-0.3.php" hash="7af0c55abea7af5834c9935ead8200e6"/><file name="mysql4-upgrade-0.3-0.4.php" hash="e80aa5b416399a3f03cccc3427d972b0"/><file name="mysql4-upgrade-0.4-0.5.php" hash="eec167a7d45e7c2a1e04f833ad866f77"/><file name="mysql4-upgrade-0.5-0.6.php" hash="02e67f9269d46661d65f232dd0a70e1c"/><file name="mysql4-upgrade-0.6-0.7.php" hash="1c86934423bdcd22d3cbcb1f3b85e8c3"/><file name="mysql4-upgrade-0.7-0.8.php" hash="0a5439668ecc660e34d8e7dd1401ab1d"/><file name="mysql4-upgrade-0.8-0.9.php" hash="235184f61ff872e6e71cd0a2d5bc1458"/><file name="mysql4-upgrade-0.9-0.10.php" hash="2a30b3e6471ddbf3ea70e1c95c319ed3"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="a60aeb96c1364daec6eb6b9ba1ff6e5d"/></dir></dir></dir><dir name="Widget"><dir name="Block"><dir name="Adminhtml"><dir name="Widget"><file name="Chooser.php" hash="0a0aac34f5fbe815255b1ee03ee6c76f"/><file name="Form.php" hash="46164d4a81302a95c797e5edcc4c63ac"/><dir name="Instance"><dir name="Edit"><dir name="Chooser"><file name="Block.php" hash="7058735394083dc96501013f1a8a387f"/><file name="Layout.php" hash="69b066a40ef32cc5ece935a4e7a19c16"/><file name="Template.php" hash="da707b616f69140402370331988d15a3"/></dir><file name="Form.php" hash="255ede0a28ae87b550ba4bb8e52b059b"/><dir name="Tab"><dir name="Main"><file name="Layout.php" hash="8593998ae0f15b42846bc68118f92baf"/></dir><file name="Main.php" hash="1dc0071fb877469c507bc72ca3c86b1c"/><file name="Properties.php" hash="48f89f3721a40bf109b938b84c99a5ef"/><file name="Settings.php" hash="308cd2ebd3fd985326fb10d75b674ace"/></dir><file name="Tabs.php" hash="cdb09602bebd1f90f5adb6b7f15c7cf9"/></dir><file name="Edit.php" hash="8b5136b252c2dc7e3c1115c052c87690"/><file name="Grid.php" hash="8a97ecbf9e4628936b4c6a4618a9a79a"/></dir><file name="Instance.php" hash="f28ea283c912e71d31500417d3f8f342"/><file name="Options.php" hash="ef5736010cb81ea203357df31983c0ee"/></dir><file name="Widget.php" hash="95042144450d0c43e3b0708e4429ebc3"/></dir><file name="Interface.php" hash="c21020fb6a0314bfe39dfa29c4ffd825"/></dir><dir name="Helper"><file name="Data.php" hash="9c2486b93790b9ba648ed489620809a9"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Widget"><dir name="Instance"><file name="Collection.php" hash="8b053745adbecece87ccc95979e3eb9c"/></dir><file name="Instance.php" hash="c70faec36fec06928b04bc744eb0f2ee"/></dir><file name="Widget.php" hash="14998c148be50a45f837d0f680368f48"/></dir><file name="Observer.php" hash="bb16c366d45cb6c2cb3bee081ef1296e"/><dir name="Resource"><dir name="Widget"><dir name="Instance"><file name="Collection.php" hash="3a9a90430907aafb90aba1016653d23e"/></dir><file name="Instance.php" hash="4cc2fe32326424f0dfef1ba12edc2308"/></dir><file name="Widget.php" hash="c20c80932a5fbaa85bb838fbe5041a51"/></dir><dir name="Template"><file name="Filter.php" hash="9ca63f12391cd1c82ce6d125b31879c2"/></dir><dir name="Widget"><file name="Config.php" hash="5413241c93b7b626327fdc53c99ad525"/><file name="Instance.php" hash="8ab973cbe1aa067b14d212060c7d5cc0"/></dir><file name="Widget.php" hash="5fd6abc24e19e948d39ac13c52725d1a"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Widget"><file name="InstanceController.php" hash="819bb4f59821d89cbffdefb00e4432b1"/></dir><file name="WidgetController.php" hash="fa6ddf084f22912a786f000791ee3332"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="e635ea0bd54262e557e4e9eb994cda1f"/><file name="config.xml" hash="9d0b798ca36be2ef2cecf68b0b9e9a9b"/><file name="jstranslator.xml" hash="46eca3103cb2e0d6504dbdd0d4b6337f"/></dir><dir name="sql"><dir name="widget_setup"><file name="install-1.6.0.0.php" hash="fe05bdd574a78eaba1106c4c6d103166"/><file name="mysql4-install-1.4.0.0.0.php" hash="131a7eeb07cc4031c3b36fe7bfa06176"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="e6c5010f5267ac8b0c8088ba1bce060e"/></dir></dir></dir><dir name="Wishlist"><dir name="Block"><file name="Abstract.php" hash="7352820e2c6073e09636692a438f95a1"/><dir name="Customer"><file name="Sharing.php" hash="1649e1df9947f7a3b6720a7422eaae52"/><file name="Sidebar.php" hash="4e44d260e041cf0f91505455791107a4"/><dir name="Wishlist"><file name="Button.php" hash="872261e1192ccb98663bafd0afda0d5c"/><dir name="Item"><dir name="Column"><file name="Cart.php" hash="3a9314f56505c0db28bcf6247076d925"/><file name="Comment.php" hash="aa485bc5ef3c26763a8691b089693cc8"/><file name="Image.php" hash="363930a4118e81f62b55c616ec81b01c"/><file name="Remove.php" hash="3d1b02be1da916315ae4bee80b8cce2a"/></dir><file name="Column.php" hash="523f1545fdaa40746266fbc314b9694d"/><file name="Options.php" hash="a3b85a30f102fd44fc01f43d97a6addd"/></dir><file name="Items.php" hash="d8ad764345d6993370ce69e9d5c1fa24"/></dir><file name="Wishlist.php" hash="8ef6eeee9f331eae1b37290159b00704"/></dir><dir name="Item"><file name="Configure.php" hash="df540c6d631dad1df585477a6094efa2"/></dir><file name="Links.php" hash="7388c5aa2f11b17f7e1acbf1e3154fee"/><dir name="Render"><dir name="Item"><file name="Price.php" hash="c7897ddc67cdeb3270e6bc120034e601"/></dir></dir><dir name="Share"><dir name="Email"><file name="Items.php" hash="2c5e179ebbb18e061eb574a21a9729e1"/><file name="Rss.php" hash="69dcb685b4ebdc1c409832c31a70d5c1"/></dir><file name="Wishlist.php" hash="36ddc5b0d9d66e24c1557a4f953ae412"/></dir></dir><dir name="Controller"><file name="Abstract.php" hash="03947a26493474f68a78ac21f32b9342"/></dir><dir name="Helper"><file name="Data.php" hash="e4a2e0b548d19de3575b0c120fcc3f03"/></dir><dir name="Model"><dir name="Config"><dir name="Source"><file name="Summary.php" hash="fddf0fcbe285076f626f06ab9b8b43de"/></dir></dir><file name="Config.php" hash="646e0e9adf588f9d0bc3f9ed1aa38fb4"/><dir name="Item"><file name="Option.php" hash="56539786a0ba47bcee01f67fe260366f"/></dir><file name="Item.php" hash="bc30a733ecd2e3ed20602488c1844df0"/><dir name="Mysql4"><dir name="Item"><file name="Collection.php" hash="7b728a313029fd327839e20e14d87f67"/><dir name="Option"><file name="Collection.php" hash="25f4702f7f8b2043683ad8a6f7fe6c1f"/></dir><file name="Option.php" hash="c8d065def3aebbd48c246c96152fdcc1"/></dir><file name="Item.php" hash="e579117f62f2539ad727b3c4f113d464"/><dir name="Product"><file name="Collection.php" hash="bf8e2aee1ad775f658cd23e722f87718"/></dir><dir name="Wishlist"><file name="Collection.php" hash="fe599f4061cec35c9708adafef85eedb"/></dir><file name="Wishlist.php" hash="d448e775459bb534032fd49baa11b17f"/></dir><file name="Observer.php" hash="ae44ab5404204f8d624b5ec25eccca0f"/><dir name="Resource"><dir name="Item"><file name="Collection.php" hash="6aa52daba54440df4f74bc4048ab6f35"/><dir name="Option"><file name="Collection.php" hash="87a9f18e10260fccba022110bda6cdfd"/></dir><file name="Option.php" hash="ea1490b6cef10a18b315663be8b4358b"/></dir><file name="Item.php" hash="b33c9ae9c772cc2962d6e9c3e2b65809"/><dir name="Product"><file name="Collection.php" hash="613df0bcf1fb3689c4c93ce216a169c0"/></dir><dir name="Wishlist"><file name="Collection.php" hash="ad5efb5bd2fc89b646b5215f7b1e5d30"/></dir><file name="Wishlist.php" hash="a0820a5c980ed3b30e1f1b40acf82144"/></dir><file name="Session.php" hash="83cca8e59015346c16cf6c7ca33ce16a"/><file name="Wishlist.php" hash="aca197421b94af4baedcd1e55e72da83"/></dir><dir name="controllers"><file name="IndexController.php" hash="c0c32c13d0414cc48613a54f7932b6a3"/><file name="SharedController.php" hash="f271d1a01b6db8122c2e806222986248"/></dir><dir name="etc"><file name="adminhtml.xml" hash="1d60d7a6f4a0860ac7c97d372c3fe033"/><file name="config.xml" hash="807e8eeb1b8e43a55aa7fbb6897204e1"/><file name="system.xml" hash="ea3dd210a0775e6c238f73e296731694"/></dir><dir name="sql"><dir name="wishlist_setup"><file name="install-1.6.0.0.php" hash="33a95e58bf36403e3332c8179fd223a5"/><file name="mysql4-install-0.7.0.php" hash="0ad4dd35e9bfcacd896a473389bb5d02"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="11ac69d9c9e48b276f3cc7ffbe5f4ff9"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="7a2e6d2f78ecde8da32b54bd62f59fec"/><file name="mysql4-upgrade-0.7.2-0.7.4.php" hash="1542cb7321c5550eb704b8fc33bed06f"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="445f775cedb1ef509ad6eab4e5562859"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="9b802c81524d358727eaa9e707b1a173"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="6677145122de6fbbaba4d94af4951c8e"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="1eb422ca0f5a852efc04b3f26b7aee16"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="463c8a2f3460283b79d8bac7cc12028b"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="f47f0f666365f61b750ca9ad540114f9"/></dir></dir></dir></dir><dir name="Zend"><file name="Date.php" hash="95bf218944785f606f22c2ea0c077f5d"/><dir name="Db"><file name="Select.php" hash="28f3efa5f9797af22f899fb525dbb44f"/><file name="Statement.php" hash="4b5b39a1e1c651ab9d6db332c882fdf7"/></dir><file name="Mime.php" hash="f216d84221e3d7601822b4c95948aeaf"/><dir name="Xml"><file name="Security.php" hash="7366a7b9e2dab5551b557f49d900d6a1"/></dir></dir></target><target name="mage"><dir name="app"><file name="Mage.php" hash="459a2e435af4ab477b7ab502b2991d58"/><file name=".htaccess" hash="72617d60821288133a367f70bf39ad93"/><file name="bootstrap.php" hash="a617c37f2a73cc3edbd6a545f2e2e00b"/></dir><dir name="."><file name="cron.php" hash="a5087282b32d81c52fccc65a54444fd5"/><file name="LICENSE.txt" hash="59563e7be45096d0833dade102989042"/><file name="index.php.sample" hash="45893b3f7f642cd085b7922b51c673a0"/><file name=".htaccess.sample" hash="8c6af3a408cee7bdd8a0e4c59ad2693d"/><file name="LICENSE_AFL.txt" hash="45a399f2095030865fb962263ccd7506"/><file name="LICENSE.html" hash="caf0a79ffb5e4719f9f4de286f253a61"/><file name="cron.sh" hash="80579b07c2ef11b488014de167f3afc0"/><file name="install.php" hash="908eccc23a47e0c455cc859b2ff4db0c"/><file name="php.ini.sample" hash="d7412c2f78440a96fc2d9378ccf460cb"/><file name="get.php" hash="2a16b51e2ccb46e237e00072e0490ffe"/><file name="RELEASE_NOTES.txt" hash="d6f71a5427e3bf2cf8aee95a8702e4ca"/><file name="favicon.ico" hash="88733ee53676a47fc354a61c32516e82"/><file name="api.php" hash="70a3df124ee5bcde33f87512adb3b5e0"/></dir><dir name="errors"><file name="404.php" hash="589e28548254946751733ac8bac7a160"/><file name="503.php" hash="49d4f4a126202215605c51c5cdacfba3"/><dir name="default"><file name="404.phtml" hash="af7b554e2b6596a66251134c107d6db2"/><file name="503.phtml" hash="d456bc683ed74a37b3853b385ea3daa0"/><dir name="css"><file name="styles.css" hash="0d34138c8c22e5e7fe0474f88be13be2"/></dir><dir name="images"><file name="bkg_body.gif" hash="82bfc5bfe346c8e974cd33b1314b0acf"/><file name="bkg_header.jpg" hash="0211c47be1493bd0ec72949c47932b81"/><file name="bkg_main1.gif" hash="a8f5717873dc6cf8f6bd22924b5838fe"/><file name="bkg_main2.gif" hash="cf18ba9f7c7e6b058b439cde1a897e9c"/><file name="favicon.ico" hash="88733ee53676a47fc354a61c32516e82"/><file name="i_msg-error.gif" hash="e4f28607f075a105e53fa3113d84bd26"/><file name="i_msg-note.gif" hash="e774ee481a2820789c1a77112377c4e0"/><file name="i_msg-success.gif" hash="834dfafd5f8b44c4b24a4c00add56fcf"/><file name="logo.gif" hash="48b7eb03807fdf80bdfb19b872cf84b8"/></dir><file name="page.phtml" hash="bd758ecf041c888ae775c7affbbfd961"/><file name="report.phtml" hash="7eef7b64f5ce167d5d7d8cf894fea4e6"/></dir><file name="design.xml" hash="824a6db1d11d0c33fa2ecc32cdace275"/><file name="local.xml.sample" hash="9e95ec195ec69786856468eb498d3bff"/><file name="processor.php" hash="e0dc255fa136541ebaca2b32700100c6"/><file name="report.php" hash="05f4e9510d6556a5f167c4333425cb8a"/><file name=".htaccess" hash="8382e66b40fe15d7a1edfc780f9be92f"/><file name=".htaccess" hash="8382e66b40fe15d7a1edfc780f9be92f"/></dir><dir name="var"><file name=".htaccess" hash="72617d60821288133a367f70bf39ad93"/></dir><dir name="shell"><file name="abstract.php" hash="b9671e36ce77be402f6c1feaab612771"/><file name="compiler.php" hash="5ae0b5c4151c73af8ca567d25c4b8f5e"/><file name="indexer.php" hash="0b1e58df83d5f41b739aa0095a9d96d0"/><file name="log.php" hash="2715cec50ab8441e6a6f55b0b8578f37"/><file name=".htaccess" hash="72617d60821288133a367f70bf39ad93"/></dir><dir name="lib"><file name=".htaccess" hash="72617d60821288133a367f70bf39ad93"/></dir><dir name="media"><file name=".htaccess" hash="08de5b2f5ea1ce6f51f40a19bacbf42e"/><dir name="dhl"><file name="logo.jpg" hash="68500df59e568e01333ba078a262ca27"/></dir><dir name="downloadable"><file name=".htaccess" hash="72617d60821288133a367f70bf39ad93"/></dir><dir name="customer"><file name=".htaccess" hash="72617d60821288133a367f70bf39ad93"/></dir></dir></target><target name="mageetc"><dir name="."><file name="config.xml" hash="be7c02ff5f7e2904978cecba4862a4af"/><file name="local.xml.template" hash="8c3bf448008dc74fdba97dd751816bb3"/><file name="local.xml.additional" hash="3bd377a8f06ada51c7dd280262c1f276"/></dir><dir name="modules"><file name="Mage_All.xml" hash="0203006e088449a982a328bc56b38a96"/><file name="Mage_Bundle.xml" hash="deb91101ce207e55cd783752a68a2f12"/><file name="Mage_Api.xml" hash="e10951bddfcd370b6f4c67a492b00358"/><file name="Mage_Downloadable.xml" hash="fd74033d6239aa3150469503664c25ad"/><file name="Mage_Weee.xml" hash="8cda7afdfef0a98434c8fec627c256cc"/><file name="Mage_Widget.xml" hash="97744c0f37d72188da7013d3ab9d7076"/><file name="Mage_Connect.xml" hash="daaec0c7dc6a3dea31860000eef4c534"/><file name="Mage_ImportExport.xml" hash="c337858c314568e42eff27f6b91d936d"/><file name="Mage_PageCache.xml" hash="a49bf857449628caf03e29623b9fa943"/><file name="Mage_Persistent.xml" hash="14b5506f30659b9d3aa4b12ed5808f74"/><file name="Mage_Authorizenet.xml" hash="8c131bf1a09ad61042eaf4b2514dd049"/><file name="Mage_Captcha.xml" hash="9139860029aaf80f9900c951fb762136"/><file name="Mage_CurrencySymbol.xml" hash="56081b1aaf92a89ac2f7d7fbdeeff627"/><file name="Mage_Api2.xml" hash="3d4bb7cca4a1ddb93ae48dc3eadb11c7"/><file name="Mage_Oauth.xml" hash="593e89ff7905abded6e966f9e110b027"/><file name="Mage_ConfigurableSwatches.xml" hash="cedf68a891a12cf573d06cfcdbd104d6"/></dir></target></contents>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Mage_Core_Modules</name>
|
4 |
+
<version>1.9.3.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Collection of Magento Core Modules</summary>
|
10 |
<description>Collection of Magento Core Modules</description>
|
11 |
+
<notes>1.9.3.0</notes>
|
12 |
<authors><author><name>Magento Core Team</name><user>core</user><email>core@magentocommerce.com</email></author></authors>
|
13 |
+
<date>2016-10-04</date>
|
14 |
+
<time>13:04:40</time>
|
15 |
+
<contents><target name="magecore"><dir name="Mage"><dir name="Admin"><dir name="Helper"><file name="Block.php" hash="9a1ba075a3e26fe7b3355e3518ecd9f3"/><file name="Data.php" hash="9349200d6f92c46180199ac23f98f7f6"/><dir name="Rules"><file name="Fallback.php" hash="383a4d353d762e1c925071be90cef644"/></dir><file name="Variable.php" hash="05034a643f757264fa384d34c8a38a45"/></dir><dir name="Model"><dir name="Acl"><dir name="Assert"><file name="Ip.php" hash="08ca27c4cb5d661cf244ebb2e6651758"/><file name="Time.php" hash="286d3eb95e0bd7c35303bd1645c6136d"/></dir><file name="Resource.php" hash="0c2dc0fc7553ec1f3edc827f8b315381"/><dir name="Role"><file name="Generic.php" hash="4f1f977403ed910a5753afab02c62b89"/><file name="Group.php" hash="a3eb3645929348237344ab9be05b78b1"/><file name="Registry.php" hash="1a061baac87efc3b82c267d9b496b161"/><file name="User.php" hash="584e727edf544f15e9d9c9f05b12bfdf"/></dir><file name="Role.php" hash="81b9facdda473ecd5d4c0a9831f12f23"/></dir><file name="Acl.php" hash="7d626befb3db46f07bdb75399b4536db"/><file name="Block.php" hash="cba4ab4189cf2a3b1e6a8366c7864ee4"/><file name="Config.php" hash="505e6f9bccb6b1781f006dfa0f277254"/><dir name="Mysql4"><dir name="Acl"><dir name="Role"><file name="Collection.php" hash="335baf1a546832d4430b359d2a14aac3"/></dir><file name="Role.php" hash="57e55b6117759af057407b2b52dca8e5"/></dir><file name="Acl.php" hash="535836809a79d0870f491abe690069d1"/><dir name="Permissions"><file name="Collection.php" hash="5c6808e128191b50f3f0a24d19a874e8"/></dir><dir name="Role"><file name="Collection.php" hash="0b5c5dcf8609974c82a2eb70c44db3a7"/></dir><file name="Role.php" hash="591f9370829d00af7990de49fa5246e5"/><dir name="Roles"><file name="Collection.php" hash="1f7f9e665cedc00597698d7bce6ffcd9"/><dir name="User"><file name="Collection.php" hash="8c744c176b234379a39cc05af2b6df02"/></dir></dir><file name="Roles.php" hash="1924f8555f51b66e3801bfa76690dfd0"/><dir name="Rules"><file name="Collection.php" hash="6eccb4ad5e45096587bec068f34342f0"/></dir><file name="Rules.php" hash="341d66cdfd28daf435517a49600495b3"/><dir name="User"><file name="Collection.php" hash="35a014dcc16e27dc66577c05b0747d46"/></dir><file name="User.php" hash="355610dbcb43e9d5f5fd7f3f78110048"/></dir><file name="Observer.php" hash="8bcd083d383968c893cf98d18eecba8e"/><file name="Redirectpolicy.php" hash="fbeea836834e629f96ddd6949a93e97b"/><dir name="Resource"><dir name="Acl"><dir name="Role"><file name="Collection.php" hash="bd5981e4c77d6c4bb819ac8c6c338c76"/></dir><file name="Role.php" hash="6d50597150e83a920d8e76cb74b4cfcf"/></dir><file name="Acl.php" hash="69d8caefb12003e449573d6ba87864f8"/><dir name="Block"><file name="Collection.php" hash="717351c260e79fa30fbda27111957a99"/></dir><file name="Block.php" hash="ff5550ea7047ffb019c2525c13fc17a9"/><dir name="Permissions"><file name="Collection.php" hash="439684f2b3259ca9e3959ced4aafa335"/></dir><dir name="Role"><file name="Collection.php" hash="15454b8025ed78cea0ce5d84d1e84c42"/></dir><file name="Role.php" hash="c4238cef7a9a25b72f7a9f4cb9b23f1e"/><dir name="Roles"><file name="Collection.php" hash="c1197e710a230d3ec001ae4abc3d9ec5"/><dir name="User"><file name="Collection.php" hash="7e551072e4cc23fcbef082b54b7fa798"/></dir></dir><file name="Roles.php" hash="86589cb054903023aeb3fd2a6015c83c"/><dir name="Rules"><file name="Collection.php" hash="cd0c1e7732bcbc6f9a73b84cecf5fa45"/></dir><file name="Rules.php" hash="b3d01cbc96c2f46f396c0698fc645b4a"/><dir name="User"><file name="Collection.php" hash="0177d1cee326c39536c29fa1879510fd"/></dir><file name="User.php" hash="3e216369763be663ca216f171d6454bc"/><dir name="Variable"><file name="Collection.php" hash="fd9c09d2184f32af4e48a982d0547a58"/></dir><file name="Variable.php" hash="f25a17650d60d5b1911e985fbd6904ea"/></dir><file name="Role.php" hash="2df749650c83f8203857ab6ba9a0bbe0"/><file name="Roles.php" hash="caa2c8b5b1a279297e3bf34cde27a94e"/><file name="Rules.php" hash="a37312eba4a2600a14f5bc81e6ef9a39"/><file name="Session.php" hash="619d5efe81e9ffaf11600b4df2a06352"/><file name="User.php" hash="dcec560e1ba661610d748efb726c250e"/><file name="Variable.php" hash="6e8f0d0da61445ab9e0042177694881c"/></dir><dir name="data"><dir name="admin_setup"><file name="data-install-1.6.0.0.php" hash="0274ac08aadb4bad103095a11bdaff14"/></dir></dir><dir name="etc"><file name="config.xml" hash="ddf36fe419691b25611a94b45b30f082"/></dir><dir name="sql"><dir name="admin_setup"><file name="install-1.6.0.0.php" hash="dbede184c784f531b99227dafaac6c3f"/><file name="mysql4-install-0.7.0.php" hash="ce195263d9a1483e0226725ecba4d280"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="1cc838be0dbfa4a57b367ff3ee852930"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="5f6112ff200e1156f793a88caa7fac7e"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="f4f648587b954ebf087dfcfad2e6e809"/><file name="upgrade-1.6.0.0-1.6.1.0.php" hash="6948bb0b0bf03c1a7a9f6d4992b95c32"/><file name="upgrade-1.6.1.0-1.6.1.1.php" hash="8a227654e1b908e80763a75d47b3219b"/><file name="upgrade-1.6.1.1-1.6.1.2.php" hash="d3e3dc656cb0f7b34c87c3cb57f6aae1"/></dir></dir></dir><dir name="AdminNotification"><dir name="Helper"><file name="Data.php" hash="16e00642e0d71e8f640513fbdce1fc72"/></dir><dir name="Model"><file name="Feed.php" hash="a50e6360e6f862da15017f92112f7089"/><file name="Inbox.php" hash="aa4212b432eb6c0b18d5d10f6d352f43"/><dir name="Mysql4"><dir name="Inbox"><file name="Collection.php" hash="ae2dc8ab53c50a4f2e1076f633050264"/></dir><file name="Inbox.php" hash="9476e2f1f83b120770cbef0fd7d5fbc6"/></dir><file name="Observer.php" hash="ed5d2f6241bc21d23e883afc4dec9c65"/><dir name="Resource"><dir name="Inbox"><file name="Collection.php" hash="45b86c1cc068f343096b176b7e597ac1"/></dir><file name="Inbox.php" hash="3f2ddbba6593c11626e577aee5adc866"/></dir><file name="Survey.php" hash="e8966921b8d2eb22e6b12ecb18244139"/></dir><dir name="etc"><file name="adminhtml.xml" hash="9127e273a03f08d4347096e6191ff1c4"/><file name="config.xml" hash="5e46b7a8603bb7d51093818533d98eef"/><file name="system.xml" hash="f2d8e0d8574e2680f80174341954d01d"/></dir><dir name="sql"><dir name="adminnotification_setup"><file name="install-1.6.0.0.php" hash="f1cfd5293e6997e6ea31d445caf9ff17"/><file name="mysql4-install-1.0.0.php" hash="bc08fe5d5c681ee7bcab1408c6c9dc7d"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="02520528d95f238c32456dc1f0504809"/></dir></dir></dir><dir name="Api"><dir name="Controller"><file name="Action.php" hash="774b4762b850592ab7659fdadb42ed84"/></dir><file name="Exception.php" hash="04fe0ad10ccb52bc9d66117e1ea8daf9"/><dir name="Helper"><file name="Data.php" hash="44c338b1e68841c25890cc25032bc92a"/></dir><dir name="Model"><dir name="Acl"><dir name="Assert"><file name="Ip.php" hash="c76874e041338f1a3a18da71bdd1124d"/><file name="Time.php" hash="5603cda1204e4270d92f67290f8b3882"/></dir><file name="Resource.php" hash="5536d4853e1e6ac50083dd48d12bb380"/><dir name="Role"><file name="Generic.php" hash="2f84ba87bd7d3a9ea0ae873bac95b970"/><file name="Group.php" hash="c8b844aaa124f8afa38e943f5fb7333a"/><file name="Registry.php" hash="0cf99ee44b46f1fd5abb01332d9176e3"/><file name="User.php" hash="c714175423aabf8a234c658966238574"/></dir><file name="Role.php" hash="89767b0b806ae6f6402b9dc357783d3e"/></dir><file name="Acl.php" hash="d3caadef3aaab9e8dada1f584184b6da"/><file name="Config.php" hash="e6108699ce87d3ca39462e70356fc0f7"/><dir name="Mysql4"><dir name="Acl"><dir name="Role"><file name="Collection.php" hash="29ee5de0d8a07033e66fe43f9046f3f7"/></dir><file name="Role.php" hash="606f2c8ccb598d3e3c8f3ed5bcf289f4"/></dir><file name="Acl.php" hash="e933dfe905bbdafed8e42b76b08a80f6"/><dir name="Permissions"><file name="Collection.php" hash="8f0cafdaf2c39d0b7b25addff48e3060"/></dir><dir name="Role"><file name="Collection.php" hash="65b742dffa3ce6881c55a27657bcd24e"/></dir><file name="Role.php" hash="5f635063dedb356c61da9062444228ea"/><dir name="Roles"><file name="Collection.php" hash="f3a0e95e05b018836a959d22fed1b3a7"/><dir name="User"><file name="Collection.php" hash="27c1248a4b9a201a3fde0bc1aa0b3006"/></dir></dir><file name="Roles.php" hash="78ca14d1032e095ee37c1ed027bbe8a3"/><dir name="Rules"><file name="Collection.php" hash="2bf02138aaf50a5786e8a9f9b944bb1e"/></dir><file name="Rules.php" hash="d6945e76e07b77f993f277162f75ca4e"/><dir name="User"><file name="Collection.php" hash="482d52e463eda673177bfa5b28d62171"/></dir><file name="User.php" hash="e56215febfa2bff9b644c1c422b05d20"/></dir><dir name="Resource"><file name="Abstract.php" hash="8afd58116d69d4f8cb00045e809fa065"/><dir name="Acl"><dir name="Role"><file name="Collection.php" hash="e2a0a2811e5b14b041114ab1b54b0caf"/></dir><file name="Role.php" hash="3d48c43b4d9f76f1eb1e4d3d354146f0"/></dir><file name="Acl.php" hash="0f8f6aa57d0c9d21db67c6c694f54b99"/><dir name="Permissions"><file name="Collection.php" hash="48faac14df91a789288ef14863f23415"/></dir><dir name="Role"><file name="Collection.php" hash="358cfbd02523e45ac3a13230019a9855"/></dir><file name="Role.php" hash="f12e74794a4897e7df96f05507a95679"/><dir name="Roles"><file name="Collection.php" hash="d245ece070acf720da2e4e88cd1e6157"/><dir name="User"><file name="Collection.php" hash="45839c5e6c4eb16d669d0cb61791b51c"/></dir></dir><file name="Roles.php" hash="2378dd2f701d20222a9089c48f13d32d"/><dir name="Rules"><file name="Collection.php" hash="92ab48e1ec2d99c432e25e9c3e8b4bca"/></dir><file name="Rules.php" hash="cfaef65cfd5ac344fca073aa803bf070"/><dir name="User"><file name="Collection.php" hash="d7dfaa41c6f8c576ecc78124926da9ab"/></dir><file name="User.php" hash="68f0455fadd667de2c49b361c0c63b48"/></dir><file name="Role.php" hash="65d1434ddb3bd361a08126b6a8ed2739"/><file name="Roles.php" hash="399af59b973909e92fd63620ca0ac949"/><file name="Rules.php" hash="4ca5eaf6cef0ab6ec8db507620d7fb89"/><dir name="Server"><dir name="Adapter"><file name="Interface.php" hash="64124b37d8a9686866695c823d80713c"/><file name="Soap.php" hash="89d4a8211e292c4fe2567fa52cb5292a"/><file name="Xmlrpc.php" hash="a3bea0dc8c3045630f9ba479cfe89b1f"/></dir><dir name="Handler"><file name="Abstract.php" hash="608a7e7c5f637627bc38d3ac29881e7e"/></dir><file name="Handler.php" hash="f4be1b5c2758e3a921387b3933f7dcdc"/><dir name="V2"><dir name="Adapter"><file name="Soap.php" hash="2626e0417ea86b2f80a8f3832b3e18df"/></dir><file name="Handler.php" hash="bdc40c4c23dc5ab6889ea72baa64684c"/></dir><dir name="Wsi"><dir name="Adapter"><file name="Soap.php" hash="f58b7e580026a274b9afd4a4ad56c95b"/></dir><file name="Handler.php" hash="6c260b6ef745ee4acb5a585c110baa71"/></dir></dir><file name="Server.php" hash="3757b660bf81e78572ee4a16df10f61d"/><file name="Session.php" hash="08135d3e54cf10a7fc44f628c0ce51b8"/><file name="User.php" hash="873676067466da34a16ca124830bb4ac"/><dir name="Wsdl"><dir name="Config"><file name="Base.php" hash="02fea248877a1a4a36bc97f2ab5971ce"/><file name="Element.php" hash="11e2d31cd86e888f4cf90613e3e9af9f"/></dir><file name="Config.php" hash="e64dbce8fd9d9bb1e8fdc4651d85959a"/></dir></dir><dir name="controllers"><file name="IndexController.php" hash="2c0689b165c97288b2e8c7f1ea7fccb2"/><file name="SoapController.php" hash="7bcebcfc203e99777804ee9fc0bb46f4"/><dir name="V2"><file name="SoapController.php" hash="78d4a08f6a1369366ae349868965ab98"/></dir><file name="XmlrpcController.php" hash="ba4e2f4fd37b0375a77140340ff99b37"/></dir><dir name="etc"><file name="adminhtml.xml" hash="1fa3c950da0464651007e8cd33f294b0"/><file name="api.xml" hash="16477872502aa7fee7b6e4ee85eb6d53"/><file name="config.xml" hash="d994cc2976bc842b796bc216af4ecabf"/><file name="system.xml" hash="d8d0ef91b865535c4f407f2eed075d7b"/><file name="wsdl.xml" hash="f0db676b04733b38f310355bb44bc3cb"/><file name="wsdl2.xml" hash="7d527421ba4b63a8a812ab6b1095891d"/><file name="wsi.xml" hash="9fb1700cf935a26e7fada90a07fae7fe"/></dir><dir name="sql"><dir name="api_setup"><file name="install-1.6.0.0.php" hash="9224f4bc3e4624a4b39829cd360f0469"/><file name="mysql4-install-0.7.0.php" hash="78a15f73deb0367b6902c80696ef0e62"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="59162c64de079f98682f67314851c92c"/><file name="mysql4-upgrade-0.8.0-0.8.1.php" hash="a76c976e331986d6249c15b79ec71cfe"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="c4b533ec0c78967c59942b8143936b97"/><file name="mysql4-upgrade-1.6.0.0-1.6.0.1.php" hash="ef060441ba7f33213e0a3aaf59a0266c"/></dir></dir></dir><dir name="Api2"><dir name="Block"><dir name="Adminhtml"><dir name="Attribute"><file name="Buttons.php" hash="30e7a5d3a1c83ef1df1b675173baa6dd"/><dir name="Edit"><file name="Form.php" hash="9da5d9bc5715ae0ae289a7646e27be85"/></dir><file name="Edit.php" hash="7ce77055d120c65648c1107fb2e5fc6a"/><file name="Grid.php" hash="770f37ab1ab5f7296cdd10e986a67e88"/><dir name="Tab"><file name="Resource.php" hash="69c35aa360066c71e6364d96fac6435c"/></dir><file name="Tabs.php" hash="6aea7548a023162ddc82e75e84cf8674"/></dir><file name="Attribute.php" hash="98679bff19e5a631eaa9e0c6cabc99ca"/><dir name="Permissions"><dir name="User"><dir name="Edit"><dir name="Tab"><file name="Roles.php" hash="b2acfc86b799efd51c7e76e10a2f7b5b"/></dir></dir></dir></dir><dir name="Roles"><file name="Buttons.php" hash="92a73c35cae3662229878c90d2e24fe8"/><file name="Grid.php" hash="215301b76a9a363c1253ec0377859241"/><dir name="Tab"><file name="Info.php" hash="3a4dacbc8eae6f0f35019df6912e89ad"/><file name="Resources.php" hash="2fd39485229e2d8f85b91d2ae7c4a862"/><file name="Users.php" hash="52ab2220a81f0e269f176e0d5615e8f7"/></dir><file name="Tabs.php" hash="5c4a34538372055306c8e7da3a8a5bde"/></dir><file name="Roles.php" hash="76bbcde1a4cbbfaa68890b7b6514b561"/></dir></dir><file name="Exception.php" hash="8e66157a187c75b217f4fc7ec56f3826"/><dir name="Helper"><file name="Data.php" hash="87e59f1ae52509cb875ab25365d6e351"/></dir><dir name="Model"><dir name="Acl"><dir name="Filter"><dir name="Attribute"><file name="Operation.php" hash="02a577838191e96fc389578891359dee"/><file name="ResourcePermission.php" hash="c0f28749c7ac8039df60f8e8ce3a4b45"/></dir><file name="Attribute.php" hash="9bd5d7c9a4818b3cd1616ae1391ddd19"/></dir><file name="Filter.php" hash="929e44dd71dcd3f25405933f14089b02"/><dir name="Global"><file name="Role.php" hash="c46376eceb36ca5d32e9582a1f5b4af4"/><dir name="Rule"><file name="Permission.php" hash="687b8715aa27e61ed516c53162775b57"/><file name="Privilege.php" hash="3d2975048cefa0226e59cd084fbcfdd7"/><file name="ResourcePermission.php" hash="a44cdbbafaf12ee628fec8ac8ba8a0ba"/><file name="Tree.php" hash="2358b8723c6e9bee54b3ea9fd7d0d953"/></dir><file name="Rule.php" hash="95040ad8b86317eb060569c28b16410b"/></dir><file name="Global.php" hash="0d95e4be423febd261812ceb03847411"/><file name="PermissionInterface.php" hash="11d294d4927d5070933d34ef2711eac9"/></dir><file name="Acl.php" hash="2ffa26f03192a669d9c86dbe724f46cd"/><dir name="Auth"><dir name="Adapter"><file name="Abstract.php" hash="e76e604f005c4dc398292c2acc00a4fc"/><file name="Oauth.php" hash="894fbacf6e21a7efeab9a0a9db946650"/></dir><file name="Adapter.php" hash="f3cbea7d5ab8b09386dc67fd107aa7d2"/><dir name="User"><file name="Abstract.php" hash="ad4d2f0c4d03eadbb81dcfbfbe4273ad"/><file name="Admin.php" hash="25e7646a77954a5784120335d13ef388"/><file name="Customer.php" hash="179a03eaa77810a013563fca02a56623"/><file name="Guest.php" hash="e572d1c2acf5facef9187d1cfe6aece6"/></dir><file name="User.php" hash="4f28b0c1bc6e6f71a0bf6a09a7a27773"/></dir><file name="Auth.php" hash="5e8ff5e0a305081a8319b2bf24496b1d"/><file name="Config.php" hash="0955d6231212120e16a5c2e7f21463a0"/><file name="Dispatcher.php" hash="1f61a75165aa48c8c97c16e72f1338d4"/><file name="Multicall.php" hash="c4741cbd2ebed177654a699ce15312e9"/><file name="Observer.php" hash="ab5efc3be71db1b54fb9f4858cd3beca"/><dir name="Renderer"><file name="Interface.php" hash="17d1ea9e291a600dd7f98a941a8945ba"/><file name="Json.php" hash="5fd32d14bd18d550ba78e9a9e901722e"/><file name="Query.php" hash="d7ea3556aaefe6c400510466a7f15077"/><dir name="Xml"><file name="Writer.php" hash="c2b3024abe24d48eac4d6bcc0f4e85e7"/></dir><file name="Xml.php" hash="fcd74870b09eb236ce768bb81b2466b9"/></dir><file name="Renderer.php" hash="7f9de64648eca506571a5156e51672c9"/><dir name="Request"><file name="Internal.php" hash="5b2981aacf6234be279b29c7eaa7bc39"/><dir name="Interpreter"><file name="Interface.php" hash="adf1d99caf07e26de34373618d1eeb7e"/><file name="Json.php" hash="759806f32a2f717d90e57657fdc2e703"/><file name="Query.php" hash="130b11ea74e1d91d9637abc5d877b218"/><file name="Xml.php" hash="3bbd3aae616947cfab67af3417e8bc73"/></dir><file name="Interpreter.php" hash="108d88f20c84667266bdeeae0f566ad0"/></dir><file name="Request.php" hash="6152f16393d2f6600131ce075be99627"/><dir name="Resource"><dir name="Acl"><dir name="Filter"><dir name="Attribute"><file name="Collection.php" hash="665ff0a1ef0b44ce90c6827fa7aee98f"/></dir><file name="Attribute.php" hash="0b1dd9c5e804f2d74f035280808e3096"/></dir><dir name="Global"><dir name="Role"><file name="Collection.php" hash="8d49bb4b7350e5143a66ac6ede38a451"/></dir><file name="Role.php" hash="208b98f459bc1efa86679e889ad1c5c1"/><dir name="Rule"><file name="Collection.php" hash="cfa58d513a38612949c71087500a9a72"/></dir><file name="Rule.php" hash="1f72374898d0ee315fe11ca122ea4bc5"/></dir></dir><file name="Setup.php" hash="d3f2fe1dd0355d83243d16dcae070bab"/><dir name="Validator"><file name="Eav.php" hash="85530468f643d51545bfb026ea31c60b"/><file name="Fields.php" hash="669ab0efb47133f83250847f032f1c37"/></dir><file name="Validator.php" hash="b4728be46e9e8b46f46af0478dcd8449"/></dir><file name="Resource.php" hash="0c8dcd44c2d03e288b985f976650c3ec"/><file name="Response.php" hash="0fbabaec58d372103b7863f6a27ec143"/><dir name="Route"><file name="Abstract.php" hash="1a27c8f502aee85f52c0b9a994ea204f"/><file name="ApiType.php" hash="6a0ec483520e9983f2cb40b5dd17fd8d"/><file name="Interface.php" hash="374d8c631c5e8adae4f11a5f11b4537b"/><file name="Rest.php" hash="cd9a94ad7d40766cb62a50a60c3dba32"/></dir><file name="Router.php" hash="fd7c3235d8dae9bf2fc8dff91472fb5c"/><file name="Server.php" hash="9ac47ece0cdc38b210dcb7df6d8c1ced"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Api2"><file name="AttributeController.php" hash="347953872ae6d5e90b16561388e6848f"/><file name="RoleController.php" hash="d27833725254f6fc12a799efd2510973"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="ad36dd3cd7d6e5d120bb9e7c15e11ff1"/><file name="config.xml" hash="4821abb0ebec976548c9e30d30a2b213"/></dir><dir name="sql"><dir name="api2_setup"><file name="install-1.0.0.0.php" hash="592bbea52850ec9fc91066bff5508914"/></dir></dir></dir><dir name="Authorizenet"><dir name="Block"><dir name="Directpost"><file name="Form.php" hash="9dc667687a53dd0017fa7cded230b4f1"/><file name="Iframe.php" hash="5ae85348c16639f2006542866f798d66"/></dir></dir><dir name="Helper"><file name="Admin.php" hash="ead9dd582ab6f747f2466c996b50aa31"/><file name="Data.php" hash="5440d68161cc5379507c6a0771bc7f42"/></dir><dir name="Model"><dir name="Directpost"><file name="Observer.php" hash="0fd3c47026cdba1c36b4aa5e8f43500e"/><file name="Request.php" hash="7a968e895e936e86b4e0488537e45587"/><file name="Response.php" hash="a136dcb41d52650f99036483b81d27fc"/><file name="Session.php" hash="b96a36a37ede54e2af70ed3f28c90413"/></dir><file name="Directpost.php" hash="b6869c83e477ab7f5d0590c1aeb0d856"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Authorizenet"><dir name="Directpost"><file name="PaymentController.php" hash="c49edc9dba097d0757eeefd8a00d2086"/></dir></dir></dir><dir name="Directpost"><file name="PaymentController.php" hash="e7e5bb728fda361ef16911f123e50e0c"/></dir></dir><dir name="etc"><file name="config.xml" hash="316742cf75cd9a1d8e31621757eafdb2"/><file name="system.xml" hash="772679033f6a49116ba41a49da828f3c"/></dir></dir><dir name="Backup"><file name="Exception.php" hash="1d9584b08582ee0931ae942ddc597056"/><dir name="Helper"><file name="Data.php" hash="9c4b278a8188970834ea3264dca74197"/></dir><dir name="Model"><file name="Backup.php" hash="163966b51cb4df0584200c39375b21ae"/><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="ed07667ca13aa89805ebb7136d0dcd71"/></dir><dir name="Source"><file name="Type.php" hash="ed9703bce1523c0c634e862c7ad70f5e"/></dir></dir><file name="Db.php" hash="d35147f61a16f6e4d58969ae58205907"/><dir name="Fs"><file name="Collection.php" hash="d2e6b760f5050792712b1d79c35dfc68"/></dir><dir name="Mysql4"><file name="Db.php" hash="11fec4cd1cde22cf681bf8b4780c0a09"/></dir><file name="Observer.php" hash="03078671713743c8c8e97a717c2e80c2"/><dir name="Resource"><file name="Db.php" hash="35961c796f60164427dcd9ce6a1c87b9"/><dir name="Helper"><file name="Mysql4.php" hash="4d24628fa1b2890c91d8048cd65fd7da"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="e48cb7bbc9b47dc55c11205716a727ad"/><file name="config.xml" hash="bbef782377f0d496a05daa4ab71473d7"/><file name="system.xml" hash="e461e31f4a3d7a05ebe6398bea5ec004"/></dir></dir><dir name="Bundle"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><dir name="Composite"><dir name="Fieldset"><file name="Bundle.php" hash="d1a01550cc44852c92276e95e161f44a"/><dir name="Options"><dir name="Type"><file name="Checkbox.php" hash="72b0fdbe208a568907ca6e03b6cc4970"/><file name="Multi.php" hash="b50b7d8093326d9c5ba76c907b3707b6"/><file name="Radio.php" hash="c3510dc759996779d7e70bec6c05a1bc"/><file name="Select.php" hash="b6719e8406961f0c5cbae9d6bbdaa973"/></dir></dir></dir></dir><dir name="Edit"><dir name="Tab"><dir name="Attributes"><file name="Extend.php" hash="c7177a24ec87ff4c63620754314fbf61"/><file name="Special.php" hash="edc5952b3071bb875c24e1a81d05d2fb"/></dir><file name="Attributes.php" hash="20404aae31a0d039019f640c85f05ea5"/><dir name="Bundle"><dir name="Option"><dir name="Search"><file name="Grid.php" hash="1119c21a96470f11950d7d84f65a221a"/></dir><file name="Search.php" hash="665485b2d6f20f2b715f7243c3f5d9b6"/><file name="Selection.php" hash="b2b8cf4675d04f1264a3c4a04ed2dca7"/></dir><file name="Option.php" hash="1dd71760cbe26ee1fabc3e3299bbb9fb"/></dir><file name="Bundle.php" hash="55373aaaa8f72c91051e678f03ba5029"/></dir><file name="Tabs.php" hash="9296e80b1084b9a8dc6bd1c4ce2062e1"/></dir></dir></dir><dir name="Sales"><dir name="Order"><dir name="Items"><file name="Renderer.php" hash="34710f3c5f673268d1d13a74d50c1caf"/></dir><dir name="View"><dir name="Items"><file name="Renderer.php" hash="73a0c1e6afe739b78ca2237ef2cece89"/></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><dir name="List"><file name="Partof.php" hash="62d55ff286597964b23ebb4bbb73f8d5"/></dir><file name="Price.php" hash="13955390c1c20f705be3b7f6a7224368"/><dir name="View"><dir name="Type"><dir name="Bundle"><dir name="Option"><file name="Checkbox.php" hash="7703ad9fc12df82467b1269c25bcf50c"/><file name="Multi.php" hash="cd5638f49dd792c79fa448650021d40c"/><file name="Radio.php" hash="46f0caaedeb69fbb3f7307a250c6176e"/><file name="Select.php" hash="07bbb86c3bd29f4856bbbfcb47607e0e"/></dir><file name="Option.php" hash="f9aa8a487a359dff377e4e48cc7edf31"/></dir><file name="Bundle.php" hash="85dc00e3c6624bd8f946577289d8d120"/></dir></dir><file name="View.php" hash="dbd39805a66f8efa5923826033520c1c"/></dir></dir><dir name="Checkout"><dir name="Cart"><dir name="Item"><file name="Renderer.php" hash="92eecf3508f521f28c4332b143139d2b"/></dir></dir></dir><dir name="Sales"><dir name="Order"><dir name="Items"><file name="Renderer.php" hash="1cbdc643a998d58bc27d33977ab6247e"/></dir></dir></dir></dir><dir name="Helper"><dir name="Catalog"><dir name="Product"><file name="Configuration.php" hash="3043d1b7f4599a49b37bc5f6a935a7aa"/></dir></dir><file name="Data.php" hash="9b51be0fea4acbedc363240046c243af"/></dir><dir name="Model"><dir name="CatalogIndex"><dir name="Data"><file name="Bundle.php" hash="08fcad235cc860bebf0e43dd9336d329"/></dir></dir><dir name="Mysql4"><file name="Bundle.php" hash="a105d7dd3f8efeddf367ce54c3bf27dc"/><dir name="Indexer"><file name="Price.php" hash="a49e39a23e70132f0ae71080b944bcdb"/><file name="Stock.php" hash="871b4097d83cbee3008e89ac6f440406"/></dir><dir name="Option"><file name="Collection.php" hash="30d6be1fbbe1ade58485f739f8ad453d"/></dir><file name="Option.php" hash="1795c05a00627e4ae2780198ed21cc3b"/><dir name="Price"><file name="Index.php" hash="14edc32b873efbaf576ff7afe5bddb17"/></dir><dir name="Selection"><file name="Collection.php" hash="a8fcdb51475db3cca91c117aadb4b32a"/></dir><file name="Selection.php" hash="b67d2542e335ac673b98208e8583bcf7"/></dir><file name="Observer.php" hash="e71e6581febdffc6db50b198c051b628"/><file name="Option.php" hash="2aafa265c1a09ca14873789c24081152"/><dir name="Price"><file name="Index.php" hash="8295fe309a878eb9b2b2cacc81177cbc"/></dir><dir name="Product"><dir name="Attribute"><dir name="Source"><dir name="Price"><file name="View.php" hash="40936c9f32040f4fbe9757f3038f2e6e"/></dir></dir></dir><file name="Price.php" hash="8300e53a3d8ba6480a674bb5a7f7a09d"/><file name="Type.php" hash="f795e704b950d1062789735506e07965"/></dir><dir name="Resource"><file name="Bundle.php" hash="dac365d9b9dc19ae98504b7a354fdfaa"/><dir name="Indexer"><file name="Price.php" hash="09346af9318133cdcd4bfe07ef2409b4"/><file name="Stock.php" hash="1d2a9f422efd1a85d4edf75ee67ef790"/></dir><dir name="Option"><file name="Collection.php" hash="85c0a9674eee8735fb0b674f2b69cd97"/></dir><file name="Option.php" hash="04f9d973469beb08582b72c285815fe0"/><dir name="Price"><file name="Index.php" hash="0d623baf6d9f22212eff19075e38030a"/></dir><dir name="Selection"><file name="Collection.php" hash="86fd88e9420793830e08ae09da4ad6bd"/></dir><file name="Selection.php" hash="4b11349866beaf419718e435ba6f7800"/></dir><dir name="Sales"><dir name="Order"><dir name="Pdf"><dir name="Items"><file name="Abstract.php" hash="6e94008eaed3489d1ce78686f9160a65"/><file name="Creditmemo.php" hash="7a009148c167f32c8d64c52e8a1467d1"/><file name="Invoice.php" hash="a37bebede91906ec96d949d0555b3a3f"/><file name="Shipment.php" hash="2d76cd2a857c85297b76519c919e91f1"/></dir></dir></dir></dir><file name="Selection.php" hash="df581745d68a5f9c1b2512b83e1ef5c5"/><dir name="Source"><dir name="Option"><dir name="Selection"><dir name="Price"><file name="Type.php" hash="4d1dba02f19be6162f4c041088b53861"/></dir></dir><file name="Type.php" hash="de0061e8100adf8c073f82f35344cd2c"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Bundle"><dir name="Product"><file name="EditController.php" hash="7b354c43663ae7359b5357674883d16f"/></dir><file name="SelectionController.php" hash="b420a1ca332482c3bc55b5d2fcdfaa8f"/></dir></dir><dir name="Product"><file name="EditController.php" hash="d2bf3045167b891f534a3c490901bf94"/></dir><file name="SelectionController.php" hash="9348a022b8d2a28b7bc9e2aaac2e8ac6"/></dir><dir name="data"><dir name="bundle_setup"><file name="data-install-1.6.0.0.php" hash="6edda03943c56b8077f77340b67694e0"/></dir></dir><dir name="etc"><file name="config.xml" hash="2f8a1d2fbf06b32f1a32fc893b47ca3b"/></dir><dir name="sql"><dir name="bundle_setup"><file name="install-1.6.0.0.php" hash="9fc392edbf05d6c30ba9f265892014ef"/><file name="mysql4-data-upgrade-0.1.13-0.1.14.php" hash="4dab0c1d90a659ff1e1f94c1e9acb132"/><file name="mysql4-install-0.1.0.php" hash="82c9663f990f4e9ae9a75c26e3979b23"/><file name="mysql4-upgrade-0.1.0-0.1.1.php" hash="20e77245c14eb8059b187264e8152e29"/><file name="mysql4-upgrade-0.1.1-0.1.2.php" hash="85b79bb079050cbd190bde83a280783f"/><file name="mysql4-upgrade-0.1.10-0.1.11.php" hash="2151261f762c2562d561569e14c6d9a8"/><file name="mysql4-upgrade-0.1.11-0.1.12.php" hash="212828a3289510319fd7479e9251b270"/><file name="mysql4-upgrade-0.1.12-0.1.13.php" hash="b92eb535f69cc85034592088f696eaf4"/><file name="mysql4-upgrade-0.1.2-0.1.3.php" hash="9b83041cd925624e8a80a965c16e9380"/><file name="mysql4-upgrade-0.1.3-0.1.4.php" hash="ae04d9a83330f2706b2e62b172efea3f"/><file name="mysql4-upgrade-0.1.4-0.1.5.php" hash="f0ac187df40e0f6d202faedcc17d9292"/><file name="mysql4-upgrade-0.1.5-0.1.6.php" hash="13940f417ccbdff869375925e41972e9"/><file name="mysql4-upgrade-0.1.6-0.1.7.php" hash="32377c2202aae4b003943383315634d4"/><file name="mysql4-upgrade-0.1.7-0.1.8.php" hash="75110184a452c033ae19cdecc77a3e17"/><file name="mysql4-upgrade-0.1.8-0.1.9.php" hash="81d93640a1700e63de5046e1a774de77"/><file name="mysql4-upgrade-0.1.9-0.1.10.php" hash="6a9b12e735a6a3fc0be490019487295a"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="bfdb71af0a3fa27111431c4e66ad5f00"/><file name="mysql4-upgrade-1.6.0.0-1.6.0.0.1.php" hash="1a4e94847369b5ccf118cd1e96797fc7"/><file name="upgrade-1.6.0.0-1.6.0.0.1.php" hash="63e676fd5c7cae10ac232c732807ca6d"/></dir></dir></dir><dir name="Captcha"><dir name="Block"><dir name="Captcha"><file name="Zend.php" hash="e3140ff48b0ebf607d5ff1702b823eb1"/></dir><file name="Captcha.php" hash="197d8bf48a7a236f840c9b9052a519a0"/></dir><dir name="Helper"><file name="Data.php" hash="cb661b87e454aefb55ad1b48f872af86"/></dir><dir name="Model"><dir name="Config"><file name="Font.php" hash="564160d4501a0983d247e94142f49bc1"/><dir name="Form"><file name="Abstract.php" hash="690bff323d84194efd1c300d2fb2c57b"/><file name="Backend.php" hash="da613c3fed8fb74fd5bc976646cc9d56"/><file name="Frontend.php" hash="b3088a0b9df26a2e1ba3f3c97139ca38"/></dir><file name="Mode.php" hash="e429bbf441d140df0f77ff123dcdac8d"/></dir><file name="Interface.php" hash="3d00e72f1a02fc1f7b63ea4ef747ba18"/><file name="Observer.php" hash="659576bf1859959b5b890eaf0e3ed887"/><dir name="Resource"><file name="Log.php" hash="24b083056fcb18954a72c87eb67421a9"/></dir><file name="Zend.php" hash="62867a57ba8e68a150055b5a4db9ee6a"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="RefreshController.php" hash="54b78c3619e28c26585e6111bd90450f"/></dir><file name="RefreshController.php" hash="6702b9e4aaac22baad8a29030b956742"/></dir><dir name="etc"><file name="config.xml" hash="587c37a06b7bd60161c9c3d793d070f2"/><file name="system.xml" hash="edeedb1737798eda557aa9c5faf09b8f"/></dir><dir name="sql"><dir name="captcha_setup"><file name="install-1.7.0.0.0.php" hash="6e8d794f94dadd6f266c7fe329e9eef7"/></dir></dir></dir><dir name="Catalog"><dir name="Block"><file name="Breadcrumbs.php" hash="dab2381718549050f05cbb86706b7e5e"/><dir name="Category"><file name="View.php" hash="f14a047e957430565a3292784ec3c9b8"/><dir name="Widget"><file name="Link.php" hash="bad2d201324e439074ec22972d1e3972"/></dir></dir><dir name="Layer"><dir name="Filter"><file name="Abstract.php" hash="eefcbcb98818b2ae12e3506aada0c913"/><file name="Attribute.php" hash="d5bd80637bf7dd879ade11e6259f05d6"/><file name="Category.php" hash="06f66db270055c1153068ec990c54df5"/><file name="Decimal.php" hash="29865012d50a70ab2d144e4c0cb8ac9d"/><file name="Price.php" hash="5636ca99c6588924845c484594f1e873"/></dir><file name="State.php" hash="a9c13d850f4607a04d1c428e98a2c4c9"/><file name="View.php" hash="11e3c1f24d801f6431e3be49aca41583"/></dir><file name="Navigation.php" hash="89f15c96eb17886c364ddf87d4e456a4"/><dir name="Product"><file name="Abstract.php" hash="7328523670e73e435c44af3a5808b240"/><dir name="Compare"><file name="Abstract.php" hash="c48b7dab6bee655b6eadd762fd242606"/><file name="List.php" hash="f3cb7750c7227edd3b87e33ebe46cab3"/><file name="Sidebar.php" hash="aac8306a9e8613dfc7f2a0dc36b04398"/></dir><file name="Gallery.php" hash="357c7d68ef3eff66f551627a5d5d0467"/><dir name="List"><file name="Crosssell.php" hash="876a23484f926c2e29d2ec07a571dfc8"/><file name="Promotion.php" hash="f4bb4b4626b8a15443a4ae04bef9ae0e"/><file name="Random.php" hash="3541c59092f62a31889e5aebb00456d4"/><file name="Related.php" hash="f20a66f4de9ae05a91ca2091633ef51d"/><file name="Toolbar.php" hash="860922416d2d9ab6cb606e349ce4cc86"/><file name="Upsell.php" hash="955a21e298fd8d6ab05b4a71bdde936a"/></dir><file name="List.php" hash="e8e75d2e527d89da82eaee62608af684"/><file name="New.php" hash="1660afbb4e83ff8f7218c91c5c6aafcf"/><dir name="Price"><file name="Template.php" hash="174757929a4637d3d4569b7804409562"/></dir><file name="Price.php" hash="eeed225d412451fec2f937bce058dbb0"/><file name="Send.php" hash="563e1e0b47de6cded50958fc8ba7c943"/><dir name="View"><file name="Abstract.php" hash="b22e9d718bf41c5382c4dc58cc003f8b"/><file name="Additional.php" hash="64048a426caafbf36d41dab9e077dc84"/><file name="Attributes.php" hash="b9eb935b62dc4693f15604a3737b76e8"/><file name="Description.php" hash="62bcfd7556f13279339e0f8953b22e7f"/><file name="Media.php" hash="4e576e71f469f2210808ef5df5827246"/><dir name="Options"><file name="Abstract.php" hash="ee57d5767122bb1fc496aee7bdeec76a"/><dir name="Type"><file name="Date.php" hash="21eca2c2db2061b75cf944f1d8fd4a94"/><file name="Default.php" hash="d643f7ddf73ab70e504fd70a5c1460a7"/><file name="File.php" hash="407e9c7d21b1f8c8a7ba830487ce9e94"/><file name="Select.php" hash="cbe99df038ac71aca106800fc39f22b7"/><file name="Text.php" hash="8a74862cba8bf5aa680c5f9104bea6f6"/></dir></dir><file name="Options.php" hash="ff35316d33688661240c14d9dc567c05"/><file name="Price.php" hash="1f6e98dfdae3f71d86a84eef7ea98e90"/><file name="Tabs.php" hash="11630345e930dbcf6e9729a16b09a589"/><dir name="Type"><file name="Configurable.php" hash="e61c2916fa2b3de94ecc7c7683247b3f"/><file name="Grouped.php" hash="b131a8ec490670de0b7a0043f23d6707"/><file name="Simple.php" hash="4e2214d776eca1f2baae3b6774f7f2af"/><file name="Virtual.php" hash="df4a51eec042f9024c6dd9086456d93e"/></dir></dir><file name="View.php" hash="a0e4ad0acaaf8834ddaac74f2a2e0301"/><dir name="Widget"><dir name="Html"><file name="Pager.php" hash="e59c96a77fa455d8a2aeb09b15f0a234"/></dir><file name="Link.php" hash="2502953b5e8b48182daa221517ea76f9"/><file name="New.php" hash="4a9a8981957dc0511cece8c9a6f498e3"/></dir></dir><file name="Product.php" hash="4444c47b16af1ee34a1c77aff29dd3f5"/><dir name="Seo"><dir name="Sitemap"><file name="Abstract.php" hash="5c0e40f42669d48af47b389a28501475"/><file name="Category.php" hash="b5ac1974fe6256597bd24f4b15484ef5"/><file name="Product.php" hash="df73746b3b434bf7d893afb16146ef27"/><dir name="Tree"><file name="Category.php" hash="b5512d7fe864e588c070ff10dbe8ce3a"/><file name="Pager.php" hash="fb5588cd7322c23026f27638a45c8d65"/></dir></dir></dir><dir name="Widget"><file name="Link.php" hash="d2c57e7e866c3bba797b9ae3780afb47"/></dir></dir><file name="Exception.php" hash="32ae17c72416f6c75b88e74776a42a17"/><dir name="Helper"><dir name="Category"><file name="Flat.php" hash="2a2cf087a8b262591b88d789c7ff508a"/><dir name="Url"><dir name="Rewrite"><file name="Interface.php" hash="0c6a04a205885d1dfa6ba43aa60a78ab"/></dir><file name="Rewrite.php" hash="c9144f35444311c1de4b69adcba1011c"/></dir></dir><file name="Category.php" hash="d2c4aaf8f55f2301d2c0c3aadaff5f94"/><file name="Data.php" hash="7fd21ab1980277fe851d3dcdee2ee9f7"/><dir name="Flat"><file name="Abstract.php" hash="4a669e8b86c77ac0375a39ec9ebd1c22"/></dir><file name="Image.php" hash="206d09e955869c6c7afd049b17630631"/><file name="Map.php" hash="991aae7948ba842c94fefc0c878194c5"/><file name="Output.php" hash="e66c7741f02e3f4fce1c0e8550f80bfc"/><dir name="Product"><file name="Compare.php" hash="052778e69e62955d8ba74a3ae0047c9d"/><dir name="Configuration"><file name="Interface.php" hash="7d6901165ea30966851e82735c64daa1"/></dir><file name="Configuration.php" hash="c5ec178e865833147bc26ebd9cdfcfb9"/><file name="Flat.php" hash="2d8f5df2a838567dcf003376361401df"/><file name="Options.php" hash="98afa1990b749d872ce9aad28c8b3061"/><dir name="Type"><file name="Composite.php" hash="2c56ad7d1249dc7f80ee0401ed70ea10"/></dir><dir name="Url"><dir name="Rewrite"><file name="Interface.php" hash="9b4996a5e9d4daa89c036dbfbd771543"/></dir><file name="Rewrite.php" hash="acda3fe8908422645c410bc8bd624b24"/></dir><file name="Url.php" hash="b674d6731e3cb8c63e179bdcb76588ff"/><file name="View.php" hash="61797e538e15b10861c88a021841dfd3"/></dir><file name="Product.php" hash="04b2822dc8cc3fed9127c00a680e7b17"/></dir><dir name="Model"><file name="Abstract.php" hash="3103620674496397bb4d21b9ec28f34f"/><dir name="Api"><file name="Resource.php" hash="a9fcca8b2c3419a9bcbfe65e4041f939"/></dir><dir name="Api2"><dir name="Product"><dir name="Category"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="8e42c2fa4ea79661f52c74bc8e43be3d"/></dir><dir name="Customer"><file name="V1.php" hash="d59ddd14679c8f9aa2ae7db86933d883"/></dir><dir name="Guest"><file name="V1.php" hash="e8021ef740e59a287d260d05db4323dd"/></dir></dir><file name="Rest.php" hash="93da01fc7573f0cb21f5ce8491e6e964"/></dir><file name="Category.php" hash="fd88a7c38acc3a4557fd97b8b528ecb5"/><dir name="Image"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="dc9a608bdba7831626b0bb3359edffb7"/></dir><dir name="Customer"><file name="V1.php" hash="7a8ec1c18d4879fb8847b4d70dc5a9d4"/></dir><dir name="Guest"><file name="V1.php" hash="53575456ac195abf8394e62f5cd574fd"/></dir></dir><file name="Rest.php" hash="5fc432d50069268bf87de3dd29f2b976"/><dir name="Validator"><file name="Image.php" hash="01d68ef27814d7262873018bec12a16d"/></dir></dir><file name="Image.php" hash="458a3a2d0af701ce6d92a1920faf4c13"/><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="83ef1afb58c8c5e3467fadfcc3dc72d4"/></dir><dir name="Customer"><file name="V1.php" hash="a341b1f231dec3c5b9742bfebcce7ec1"/></dir><dir name="Guest"><file name="V1.php" hash="53e0fdddf85dce5e474c706e528807b9"/></dir></dir><file name="Rest.php" hash="108eb659fd7de8d1d8dabf9d90abbbbf"/><dir name="Validator"><file name="Product.php" hash="69f20a23d0c413691ce8f3dcf01eedb3"/></dir><dir name="Website"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="23dc33bf46785827175930e1a15dc98e"/></dir></dir><file name="Rest.php" hash="a1a997aed079d3b7b27c0c395168a6bd"/><dir name="Validator"><dir name="Admin"><file name="Website.php" hash="e5b41e2f3cd67239b3226f5b580bcf1f"/></dir></dir></dir><file name="Website.php" hash="b490f8b56d66fe8c07429a7acfb23d1f"/></dir><file name="Product.php" hash="153b39154268727a39abbb70f206f293"/></dir><dir name="Attribute"><dir name="Backend"><file name="Customlayoutupdate.php" hash="8f3647c7ae0e9c71207091565a1d39d1"/><dir name="Urlkey"><file name="Abstract.php" hash="c0577637ef3b436a7218e9b6878adf19"/></dir></dir></dir><dir name="Category"><dir name="Api"><file name="V2.php" hash="e14aa15dd60b7968dc8a891791543b22"/></dir><file name="Api.php" hash="c2ec820764496fee4761a3652a45fe33"/><dir name="Attribute"><dir name="Api"><file name="V2.php" hash="fd7327a2eafc0a8a610f3a6fa39d22b1"/></dir><file name="Api.php" hash="8ab727a2af4401214c65d6a012b53b84"/><dir name="Backend"><file name="Image.php" hash="b8f275fc5befeeef8db39f4b42ed072d"/><file name="Sortby.php" hash="b4c6f5653a4b31079e40966511967c56"/><file name="Urlkey.php" hash="06f279de5fe222551e97b52ac1b59f31"/></dir><dir name="Source"><file name="Layout.php" hash="eba97851f2d59acec18db86202cbac4a"/><file name="Mode.php" hash="7aec1c98ef4706fbd84ee611d7529f8b"/><file name="Page.php" hash="9921b94d1305a74d8014c7eb3729cbf5"/><file name="Sortby.php" hash="1680da2e35d1232a59bb5e8139411f18"/></dir></dir><dir name="Indexer"><file name="Flat.php" hash="9d836804fb252ced0f1bae5e135a5e5a"/><file name="Product.php" hash="6bb2b173560b41800c67f1521ff2065c"/></dir><file name="Url.php" hash="d007be46a04160a3dab1c9ca48bf9b22"/></dir><file name="Category.php" hash="77f096d5a872a4af01317e2e7a9be122"/><file name="Config.php" hash="d2b67ebef5018fbe4806da55480fdf58"/><dir name="Convert"><dir name="Adapter"><file name="Catalog.php" hash="ec918565e45f17766817ea0a9aac9b5a"/><file name="Product.php" hash="5d8e58bdf5ba6aea18b51e7e53436351"/></dir><dir name="Parser"><file name="Product.php" hash="03dad5f92788f30c56329f84df76eb02"/></dir></dir><file name="Convert.php" hash="f4cb35d34b7e7b56c4ed16b28dde40c6"/><file name="Design.php" hash="3b424406387f0a395fb9bfee18eda2e7"/><dir name="Entity"><file name="Attribute.php" hash="65db780e088fefa284113d2a4d0d40bb"/><dir name="Product"><dir name="Attribute"><dir name="Design"><dir name="Options"><file name="Container.php" hash="cf987ae7b06b896650c8bbe35ebabed9"/></dir></dir><dir name="Frontend"><file name="Image.php" hash="2981031837295463e1d57f91b1b99512"/></dir></dir></dir></dir><file name="Factory.php" hash="5c940ab0d0ceae28c8a43a60f27e2d14"/><file name="Index.php" hash="3e6e38408882ce699a05cbccd5ed3c06"/><dir name="Indexer"><file name="Url.php" hash="a83fb403cb6ca1e6cb06aa98065705ba"/></dir><dir name="Layer"><dir name="Filter"><file name="Abstract.php" hash="8b543a2ea812d0100ed90183f8d54e9a"/><file name="Attribute.php" hash="6cf9b952b4a412dc1c5e662081ed7b76"/><file name="Category.php" hash="7fdfcc712efa16a0decc3786f5f28d83"/><file name="Decimal.php" hash="ebdf5a89c4a88f826101c27b98641f3d"/><file name="Item.php" hash="39b10c69714aaeab6b3980223d5f1544"/><dir name="Price"><file name="Algorithm.php" hash="2628a11cb85cd42fe49e89d56b14b4d1"/></dir><file name="Price.php" hash="9c536ad60547a4241e5e351a593b9bb0"/></dir><file name="State.php" hash="635bc64507b1d11312854ad582a08c38"/></dir><file name="Layer.php" hash="33f0735a45d5192876749545e960c80b"/><file name="Observer.php" hash="53b5ff795856c5a53ef73c2cac1875ea"/><dir name="Product"><file name="Action.php" hash="d9613b0275dde94f06e92b1454e95265"/><dir name="Api"><file name="V2.php" hash="f9fb5e59206b221a1af51af4d67720a6"/></dir><file name="Api.php" hash="8e921b1b5d0d9abaf414ea515ca9d833"/><dir name="Attribute"><dir name="Api"><file name="V2.php" hash="676fd9d10ea5a48f2a622da80ccb47f7"/></dir><file name="Api.php" hash="facd4342fe4a4500a5aad27974806b2f"/><dir name="Backend"><file name="Boolean.php" hash="8ef39bdda67176eafea7e35380862e7a"/><dir name="Groupprice"><file name="Abstract.php" hash="a032aa77fb64e0c5c6880e9683a13d9e"/></dir><file name="Groupprice.php" hash="4b9119c5a3f1a0a64b9e5e2f10349970"/><file name="Media.php" hash="9791d033e1b38e60530c7e187588c75d"/><file name="Msrp.php" hash="d2b4d99ed552f9cacf31634eef4eb78b"/><file name="Price.php" hash="b537265d74c73a8e0b1a59ca29ab59ca"/><file name="Recurring.php" hash="c5517fd0cb006a2ad38a7de84d57a3ce"/><file name="Sku.php" hash="40334dcdae3fca0ab8eb0cd9421933b7"/><dir name="Startdate"><file name="Specialprice.php" hash="aa33b14f5f1de6708efa6ef7a905b516"/></dir><file name="Startdate.php" hash="3f3819c60c86b91ae45b4ac279edb0fc"/><file name="Tierprice.php" hash="f978087f28711f7aec541e68e0f0f376"/><file name="Urlkey.php" hash="4c539dd4d1d3007a9d8fc09f967375d8"/></dir><dir name="Frontend"><file name="Image.php" hash="cae0a80831e2b3ca348577bf9dadd860"/></dir><file name="Group.php" hash="c233ddf9563a5b22d72232104384651b"/><dir name="Media"><dir name="Api"><file name="V2.php" hash="7f8b2e79e74698e557df3143e47f20ea"/></dir><file name="Api.php" hash="555d8539a15f3b5aa88c2f6244c49115"/></dir><dir name="Set"><dir name="Api"><file name="V2.php" hash="946b1c83955e059047f6ec3eb9985184"/></dir><file name="Api.php" hash="1580b4dfd2e989d83b0c3f451af58eed"/></dir><dir name="Source"><file name="Boolean.php" hash="e3acf66166cfb90ed611af2930a2e09a"/><file name="Countryofmanufacture.php" hash="f85b0a53f73e1ac0d8447132839ce577"/><file name="Inputtype.php" hash="e467064e239e36589353a6e6652c9138"/><file name="Layout.php" hash="e93a209f3093c5f5993d936ba6c2a6d2"/><dir name="Msrp"><dir name="Type"><file name="Enabled.php" hash="2ff76f69352ac583fd6ab9a85928733d"/><file name="Price.php" hash="f2dd34500faff206fa2d3e11bdf989ee"/></dir><file name="Type.php" hash="50a3f2d6ffac9dc2e08617811597733a"/></dir></dir><dir name="Tierprice"><dir name="Api"><file name="V2.php" hash="24d1eec7a3258cdbf86de7d99e714b9c"/></dir><file name="Api.php" hash="8385c627c4b3a36a97a6ce0e1ab8b855"/></dir></dir><dir name="Compare"><file name="Item.php" hash="63e7762670f57ac31acd8afa7367786f"/><file name="List.php" hash="27165978b12b654090aca4c348ffb6c8"/></dir><dir name="Condition"><file name="Interface.php" hash="4bac667bc046c13017377423fdde69f0"/></dir><file name="Condition.php" hash="c10a6a33977bd8a021bf83b0021b9abb"/><dir name="Configuration"><dir name="Item"><file name="Interface.php" hash="c07904168054df17507307f9c285b975"/><dir name="Option"><file name="Interface.php" hash="94125408528b68bc52b3b6cf1b2900fc"/></dir><file name="Option.php" hash="3c4c1ed602ccdd72b4ec151a18553d5a"/></dir></dir><dir name="Flat"><file name="Flag.php" hash="405820b0f95dab6fd33a749c21f7a5be"/><file name="Indexer.php" hash="3a7e8d73cae80a15a60c1c555a50a81c"/><file name="Observer.php" hash="769223829dc4d75b7593fa631b00dfb6"/></dir><file name="Image.php" hash="f40a8b18d965f4eab6dcc6891755ee13"/><dir name="Indexer"><file name="Eav.php" hash="7d74bc107ddc43da8498d77c97404ae8"/><file name="Flat.php" hash="1e6d861ae255d6b381f93e7eaf9e937b"/><file name="Price.php" hash="2624163fa13495ae28ee92ec587bf495"/></dir><dir name="Link"><dir name="Api"><file name="V2.php" hash="1485d465f1f47f879b7ce08dc58d0301"/></dir><file name="Api.php" hash="dfbb72a54bcb6c333f19b6b04553cda3"/></dir><file name="Link.php" hash="9fb1eeb979fb2e5a0854217feb11b798"/><dir name="Media"><file name="Config.php" hash="f0ac7b414a245deee9028917ade49cb9"/></dir><dir name="Option"><dir name="Api"><file name="V2.php" hash="295b9141f8b71108506896baaa0663e7"/></dir><file name="Api.php" hash="453d5d3d0a67ce2fefd9c449b744184a"/><file name="Observer.php" hash="11fc3d20f2880b159cc67ee863f5d403"/><dir name="Type"><file name="Date.php" hash="c4a7c48703337c027ad3d346224de33a"/><file name="Default.php" hash="36a093fe5b2aeb6a4c9992fbc70ca09c"/><file name="File.php" hash="5046c92d54f755462859a629d7bf12ae"/><file name="Select.php" hash="a1c5a0bfaafb1988ae9743646ec93c71"/><file name="Text.php" hash="d5d534ac247bde4bde6c4c502cfd5504"/></dir><dir name="Value"><dir name="Api"><file name="V2.php" hash="a68a7921a51f26bb3310478757b9e91a"/></dir><file name="Api.php" hash="a9230fb72895529e3212529fa035747b"/></dir><file name="Value.php" hash="2bcd5835204eec255f43fc763cabb19b"/></dir><file name="Option.php" hash="814db51ec4f4773266c176eb634c258c"/><file name="Status.php" hash="5dcbbe7769ef951715e659c2018cbd59"/><dir name="Type"><file name="Abstract.php" hash="4f466aae98f72edd97167c4b07180f5e"/><dir name="Api"><file name="V2.php" hash="81db9eb28dfa1cd4d927080d3a7ea612"/></dir><file name="Api.php" hash="3a6ebc6d8673b4f7af4ab2c5a3b12e16"/><dir name="Configurable"><file name="Attribute.php" hash="eb6e2a83ca8424339ac3cc0a5a4749c9"/><file name="Price.php" hash="1bea7b9f3d0de0946afa858a064fa379"/></dir><file name="Configurable.php" hash="3edd0599bf23f1995aa4963de3a55044"/><dir name="Grouped"><file name="Price.php" hash="0253182ccb911eabe8e19e669c8c7638"/></dir><file name="Grouped.php" hash="76016646cb2ea0a90160641e42d1a241"/><file name="Price.php" hash="6d2c627c4111efe5e4591697cdb22731"/><file name="Simple.php" hash="7f607549b4d12517f66a88987df9bb20"/><file name="Virtual.php" hash="829085212233f496782c9e9b031b6b3b"/></dir><file name="Type.php" hash="92b34b54f22e84f8ca82d0d9a746a562"/><file name="Url.php" hash="7f2ac3f907c3e6b6d9ea08c03723d2d5"/><file name="Visibility.php" hash="668ecfc9a1e2a53c0907088bc330c35e"/><file name="Website.php" hash="aa009a7f09e86588e7fb998b72a6ff5b"/></dir><file name="Product.php" hash="9dab6209a5352682012568a3bc3b8f25"/><dir name="Resource"><file name="Abstract.php" hash="f20d54eac39563874e060a0b181c42e1"/><file name="Attribute.php" hash="b6532d842732783f7ef1ebc3c38fd5b7"/><dir name="Category"><dir name="Attribute"><file name="Collection.php" hash="0e61f25ea822f1d50cbe0a97346ffbc0"/><dir name="Frontend"><file name="Image.php" hash="ec8d42c78ff0950dbc56e847e00afcf9"/></dir><dir name="Source"><file name="Layout.php" hash="b00432ca67ec3fc9e9322d4fb73f0cf6"/><file name="Mode.php" hash="391399eb421fc1d9b040c17020f6b741"/><file name="Page.php" hash="65d5115df4e8a006ae4b41e7be6b6b4e"/></dir></dir><file name="Collection.php" hash="7bfdbb5958be323e71dc4ea7b98af331"/><dir name="Flat"><file name="Collection.php" hash="072eb6260f847b9ce71bf38531ff5792"/></dir><file name="Flat.php" hash="d343d9a62fdbe22eb8634e178ebca640"/><dir name="Indexer"><file name="Product.php" hash="64e41b3a3d96c22b140adc45efef8006"/></dir><file name="Tree.php" hash="f0d2efe1b5319894776cb782df59edd2"/></dir><file name="Category.php" hash="e40e22f7750cd26686f3fa9272749898"/><dir name="Collection"><file name="Abstract.php" hash="409f7b6f1ad5cf20b04d2a37bc7620fb"/></dir><file name="Config.php" hash="2db6fae019ec79c5a7e6cb1daa8566bc"/><dir name="Eav"><file name="Attribute.php" hash="dd6e35d1579df9760022dd65f133bf66"/><dir name="Mysql4"><file name="Abstract.php" hash="ff5dbeb55fd6724afd42c09ed24cdc3c"/><file name="Attribute.php" hash="ede0ac3bfd412f86e2c36ed0a6f74b60"/><dir name="Category"><dir name="Attribute"><file name="Collection.php" hash="6d94bb5588fc4d1920e259037f93ffa4"/><dir name="Frontend"><file name="Image.php" hash="95a4d8e08d90d8da6b8340aa2b6f38f5"/></dir><dir name="Source"><file name="Layout.php" hash="929d6df5866c2fd332a2987b5d2fd953"/><file name="Mode.php" hash="6fed21b7c38e82b63b4edf38ad3be77c"/><file name="Page.php" hash="af44999736b5920e9a2ca662dff3cfaa"/></dir></dir><file name="Collection.php" hash="6c1e26b5f970df68c0858b7a6795fa78"/><dir name="Flat"><file name="Collection.php" hash="b56facaa8645f40ac01656900ae1f3cc"/></dir><file name="Flat.php" hash="3359d45de68809b455a8a9790633830c"/><dir name="Indexer"><file name="Product.php" hash="d294b0bd3c8aa36c8644b765377a9f26"/></dir><file name="Tree.php" hash="c0e160c2837e04122994443e26d5a8d8"/></dir><file name="Category.php" hash="859f32339e6411f3a4fd53e9ef484f55"/><dir name="Collection"><file name="Abstract.php" hash="672e5e04854b2c04acb50a2c22c6a5e0"/></dir><file name="Config.php" hash="6f86cfbbfabef5d5781a5c45bc2ac2cc"/><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="fcae67002e0a13614d5cfa11bb3f9044"/><file name="Decimal.php" hash="caa9eeee21a2dd5c806f3e83187a2e3b"/><file name="Price.php" hash="e49f552f44e6f59a97308bbed3d676ba"/></dir></dir><dir name="Product"><file name="Action.php" hash="e06b482cbb05de0f5c3a1b7f52c489bd"/><dir name="Attribute"><dir name="Backend"><file name="Image.php" hash="2438a13ffd8ba611955da135ba21c311"/><file name="Media.php" hash="d79857a5c10ac663691f55aa57b67957"/><file name="Tierprice.php" hash="ab380b633930301d131e0197f8747591"/><file name="Urlkey.php" hash="6c73b3436b040c859aadf9170c1bf9ea"/></dir><file name="Collection.php" hash="7b19cc84c1d35a09e775c70371c6a497"/><dir name="Frontend"><file name="Image.php" hash="16ec1ce2c602bcdb4764f04e97f8d1cc"/><file name="Tierprice.php" hash="bdaed65aa2d80a336a3966281893d7ae"/></dir></dir><file name="Collection.php" hash="97955be99c1f8f11f18b1af0763e9f5c"/><dir name="Compare"><dir name="Item"><file name="Collection.php" hash="80b9462ca1e9c0913d6d900d3da693f6"/></dir><file name="Item.php" hash="21919b8317303faa3b89d512ab268799"/></dir><dir name="Flat"><file name="Indexer.php" hash="de7818687372ab28543cd55c78bc4431"/></dir><file name="Flat.php" hash="4075045a5ccd98c92b5869873a4b29de"/><dir name="Indexer"><file name="Abstract.php" hash="734c4b1b6bad250cbd87c23cd03eb444"/><dir name="Eav"><file name="Abstract.php" hash="7b25ac3487d6e0549be448a453e6ea0f"/><file name="Decimal.php" hash="a56359dd2804d1b98e0bbdbb1f2023ac"/><file name="Source.php" hash="25353cd3162a000db1354bb031eba979"/></dir><file name="Eav.php" hash="eaaec7260717874a205b7c61e4c9a4b3"/><dir name="Price"><file name="Configurable.php" hash="31542ad203aef5d0185ce31471cb8773"/><file name="Default.php" hash="09efe3a441871a09940d183719369548"/><file name="Grouped.php" hash="1a09b97f2beaf2efcfdae52b1faf681d"/><file name="Interface.php" hash="b6e66a323e75e0c27584e232df6abb59"/></dir><file name="Price.php" hash="64837824ce41dd4e2a49e3c4e9355498"/></dir><dir name="Link"><file name="Collection.php" hash="2ae3996a8cac1413b9e3de5ea8b14385"/><dir name="Product"><file name="Collection.php" hash="a836990749fb372ebbd47608f5b2f04f"/></dir></dir><file name="Link.php" hash="f655704180895e85cc3245f5ea5134b8"/><dir name="Option"><file name="Collection.php" hash="27708fca4f45596a5e022eff29d19e66"/><dir name="Value"><file name="Collection.php" hash="c4746b8e0417aaafb693a0951f8c8676"/></dir><file name="Value.php" hash="041532a06fcd462d7dd481bb871cd070"/></dir><file name="Option.php" hash="184ae5c7ea858ea2029f57f59be809b9"/><file name="Relation.php" hash="07932cef0d70c5c2c42fa89bb0c1bfe5"/><file name="Status.php" hash="223c720090804a8ebed818cf36fe0193"/><dir name="Type"><dir name="Configurable"><dir name="Attribute"><file name="Collection.php" hash="c83735912b97dd31606ee4026745d8f0"/></dir><file name="Attribute.php" hash="ea01bce53397e1296418bd8ce58c9de4"/><dir name="Product"><file name="Collection.php" hash="5544baaa0fe365f68c82345f138f2cd3"/></dir></dir><file name="Configurable.php" hash="a3485101701ce27a1245face359bbacf"/></dir><file name="Website.php" hash="86d83b6ac6a33770f0d500af50249c7d"/></dir><file name="Product.php" hash="92cfd76f424656a754c5bc891e791cb7"/><dir name="Sendfriend"><file name="Collection.php" hash="c0a9d608296e3e14c54d6e1403fa0ce5"/></dir><file name="Sendfriend.php" hash="6d48bb31391b8f8b95e657cde0be7762"/><file name="Setup.php" hash="332bc2a49c8d89cc1da7ea3558b13752"/><file name="Url.php" hash="8ff30475c857c213a1524b92478cce47"/></dir></dir><dir name="Helper"><file name="Mysql4.php" hash="7c385341d8dfbe3e12417018501fe433"/></dir><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="f09cb0f19a7be42ab682ec67f3c2fbfb"/><file name="Decimal.php" hash="728037aecaabab3dea236d55ad466983"/><file name="Price.php" hash="81c8b318f93065a1313a5083985a6f5d"/></dir></dir><dir name="Product"><file name="Action.php" hash="3ecee6a9d5e528d1005c46feeffbd7fd"/><dir name="Attribute"><dir name="Backend"><dir name="Groupprice"><file name="Abstract.php" hash="3320e1ac24eed9782ac1eae7749a6f5c"/></dir><file name="Groupprice.php" hash="94ad553373be41f787f9f97ffa9004be"/><file name="Image.php" hash="98d7acc0ed12be48ff7c1ba82c3f4787"/><file name="Media.php" hash="7f7d8d066c4cf9b6b29b708e7b4b8c19"/><file name="Tierprice.php" hash="6abee5dcc3c234e50e8a2d7de254d0d9"/><file name="Urlkey.php" hash="2c13425706769e774a505009ffa87933"/></dir><file name="Collection.php" hash="f09a2706f0cc1c52d2106bb015b63256"/><dir name="Frontend"><file name="Image.php" hash="2031b292025aea8ad2c03698d8b88fdd"/><file name="Tierprice.php" hash="05a89f28521f362e39e959bba5f7c665"/></dir></dir><file name="Collection.php" hash="5e7c2d8882d8cff927d7993f8449ec4c"/><dir name="Compare"><dir name="Item"><file name="Collection.php" hash="4682910e74f1e83109a32b40f2d9f34f"/></dir><file name="Item.php" hash="a01172e17e3dad083a7a64f9cb6318f1"/></dir><dir name="Flat"><file name="Indexer.php" hash="cf608c32673e53c82b5218768c5a536c"/></dir><file name="Flat.php" hash="8193a7748b2a61d95cccbf050dc624ed"/><dir name="Indexer"><file name="Abstract.php" hash="4ce37f276d4aa581fc88ff92d61fe58c"/><dir name="Eav"><file name="Abstract.php" hash="0fe745af8f1b930ebd6dce5444672fdf"/><file name="Decimal.php" hash="0c4947e231e3722be366aff13f18b4bc"/><file name="Source.php" hash="e6eb02055fe59a3c33455ed6b8407481"/></dir><file name="Eav.php" hash="5687b6aef04079e2f27db54f60475ad1"/><dir name="Price"><file name="Configurable.php" hash="7e7e36cb2f769869b5b40f92f6edd89f"/><file name="Default.php" hash="a55d3119bdfeafafc098c77f7239a8a8"/><file name="Grouped.php" hash="e4629b734f76c5ef342407ace05e9c6c"/><file name="Interface.php" hash="b5cb0804860612471abeb6dafff7324c"/></dir><file name="Price.php" hash="2f1697c7c661b285d1afb6b42e1be83d"/></dir><dir name="Link"><file name="Collection.php" hash="4305b11e90fb5c1a795277e8d8b3c95d"/><dir name="Product"><file name="Collection.php" hash="924d095f564445185476e378e232123c"/></dir></dir><file name="Link.php" hash="bcd8db6c4d0e2d87a30bb65e243974f3"/><dir name="Option"><file name="Collection.php" hash="7624675ddb98f808be646109562ce272"/><dir name="Value"><file name="Collection.php" hash="69474973f904b263cbb9f1227d0c62db"/></dir><file name="Value.php" hash="8e9c636044ac2ec2c4c2342ed22011bd"/></dir><file name="Option.php" hash="a1118f95a3b411edd7767badf0e3838c"/><file name="Relation.php" hash="accc9f5e417192ca5ef4968564e9478e"/><file name="Status.php" hash="fed573760af2fddc873678ff57df5592"/><dir name="Type"><dir name="Configurable"><dir name="Attribute"><file name="Collection.php" hash="82a4ce119cfd7eae53fe790ffd309519"/></dir><file name="Attribute.php" hash="c768f597c9aec823e79a554d7cd4763a"/><dir name="Product"><file name="Collection.php" hash="b573e6295f5cc4a76eae1937559876be"/></dir></dir><file name="Configurable.php" hash="cd48973bc8b1b7484eea3be93713cb69"/></dir><file name="Website.php" hash="86b909ce4bb1bc5759df3381b9409e34"/></dir><file name="Product.php" hash="7acc4fb438509e65fd11e741403542e5"/><file name="Setup.php" hash="33355298a0b2d9e4012ba0712687e5a7"/><file name="Url.php" hash="b5a13b469f829617a8c0a73a1599a984"/></dir><file name="Session.php" hash="333421356b45a753ca190bd001cb2e68"/><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Catalog"><dir name="Category"><file name="Flat.php" hash="2c8fe43e4a233bf8934704c7fe0a8ec0"/></dir><dir name="Product"><file name="Flat.php" hash="754061a0376e7a804be51ba5ff644e66"/></dir><dir name="Url"><dir name="Rewrite"><file name="Suffix.php" hash="23ecaf925ea7ef9197cf7c9423352a98"/></dir></dir></dir></dir></dir></dir><dir name="Template"><file name="Filter.php" hash="96c6dfeae7b67990d60d77bc162a5b1a"/></dir><file name="Url.php" hash="2f3325358a78597164094dfdec07b2a6"/></dir><dir name="controllers"><file name="CategoryController.php" hash="c7c68016b46bd824b748959d090013ee"/><file name="IndexController.php" hash="ac301f4a5039061c8d4cf5e58b90fb26"/><dir name="Product"><file name="CompareController.php" hash="a97e663d47459bf714484cdde8c0591d"/></dir><file name="ProductController.php" hash="aba9a281433847277420e5da2e769c82"/><dir name="Seo"><file name="SitemapController.php" hash="0ad9c48e4a286100a0157896b89c14ff"/></dir></dir><dir name="data"><dir name="catalog_setup"><file name="data-install-1.6.0.0.php" hash="c4ca68125954765c850feaec77d77105"/><file name="data-upgrade-1.6.0.0.12-1.6.0.0.13.php" hash="030e24354ba8aca75a886da56736e76a"/><file name="data-upgrade-1.6.0.0.13-1.6.0.0.14.php" hash="a63c31ff7ec6d9de4f11db70af34d702"/><file name="data-upgrade-1.6.0.0.19.1.3-1.6.0.0.19.1.4.php" hash="33fe7adfb9d165b343279939d54710e5"/><file name="data-upgrade-1.6.0.0.4-1.6.0.0.5.php" hash="cec64dd7df5eef024a8496a3f72e4372"/><file name="data-upgrade-1.6.0.0.8-1.6.0.0.9.php" hash="a43bf0ff9fb72e57db9b883bd45aa382"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="b562b0c4140a43cdc7ed3fa21374a606"/><file name="api.xml" hash="eed902fc50af484f6484357fd6d5e013"/><file name="api2.xml" hash="10e038b1f127f74e8c0e3d1153cdffd3"/><file name="config.xml" hash="cb9e29a8540a06ceb0c7ba8098344499"/><file name="convert.xml" hash="59dccc5cc29cb3fbfc94eee26b529db2"/><file name="system.xml" hash="09a2876b271dd61e39cf89abee735ee8"/><file name="widget.xml" hash="0068b7b010d4985eb83b865ea838586d"/><file name="wsdl.xml" hash="fa198392d766134085b3c2ec1be4a0e9"/><file name="wsi.xml" hash="0acfd65c613ccb83404317500078a85d"/></dir><dir name="sql"><dir name="catalog_setup"><file name="install-1.6.0.0.php" hash="a57c3b2a53aa6384c2f0a693353fcba1"/><file name="mysql4-data-upgrade-0.7.57-0.7.58.php" hash="2120fdc78c6000ef2134b217f8c74f74"/><file name="mysql4-data-upgrade-0.7.63-0.7.64.php" hash="8f51c57d94bca45d11e27a0d8055147f"/><file name="mysql4-data-upgrade-1.4.0.0.28-1.4.0.0.29.php" hash="a194850e9a5388bf38b1ba5aa8739414"/><file name="mysql4-data-upgrade-1.4.0.0.42-1.4.0.0.43.php" hash="d0175f8e452128201765735009a5851e"/><file name="mysql4-install-0.7.0.php" hash="650ac4b7aff67f5e83639013d8f2b9fe"/><file name="mysql4-install-1.4.0.0.0.php" hash="243371a61b6c1e942b31abfaf4448d8f"/><file name="mysql4-upgrade-0.6.40-0.7.0.php" hash="2ea5fccbfdfd7dc682c57c1f0a4fe77e"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="dea20de1987cf262ec8ce66e6d05d785"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="8b171bb907cf9fac38b1ca561be15e9a"/><file name="mysql4-upgrade-0.7.11-0.7.12.php" hash="67cc3f88d62d577099591dba703591ab"/><file name="mysql4-upgrade-0.7.12-0.7.13.php" hash="5743235727dfa1b1745346d4a665dde0"/><file name="mysql4-upgrade-0.7.13-0.7.14.php" hash="c913f966bfbe54f9afc179916e346e3f"/><file name="mysql4-upgrade-0.7.14-0.7.15.php" hash="eda07a21268160d97d458708dccf3b5e"/><file name="mysql4-upgrade-0.7.15-0.7.16.php" hash="cbba89e54536d02170e5456e2b079ffd"/><file name="mysql4-upgrade-0.7.16-0.7.17.php" hash="5743235727dfa1b1745346d4a665dde0"/><file name="mysql4-upgrade-0.7.17-0.7.18.php" hash="7d1d1bead20fdf38cfab28cb21e78d6f"/><file name="mysql4-upgrade-0.7.18-0.7.19.php" hash="b6735d410395dfd34f21458427f99a13"/><file name="mysql4-upgrade-0.7.19-0.7.20.php" hash="67cc3f88d62d577099591dba703591ab"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="54a7a140bc602006a071acb6641673f7"/><file name="mysql4-upgrade-0.7.20-0.7.21.php" hash="4ba67e9710ca055f98a63d1df6c4f31f"/><file name="mysql4-upgrade-0.7.21-0.7.22.php" hash="ee461b2f49e962b362e1cfee547ecd9e"/><file name="mysql4-upgrade-0.7.22-0.7.23.php" hash="f61b8a86749dce0df458b02a835efe68"/><file name="mysql4-upgrade-0.7.23-0.7.24.php" hash="2050ea455761178daa9d220a34cd8254"/><file name="mysql4-upgrade-0.7.24-0.7.25.php" hash="261e90a21d40864974e60972cda1ae1c"/><file name="mysql4-upgrade-0.7.25-0.7.26.php" hash="261e90a21d40864974e60972cda1ae1c"/><file name="mysql4-upgrade-0.7.26-0.7.27.php" hash="2e2061fcffef07742e04f465c4545c64"/><file name="mysql4-upgrade-0.7.27-0.7.28.php" hash="047e843051f421435db7f9d45ad1bf3c"/><file name="mysql4-upgrade-0.7.28-0.7.29.php" hash="bad4802d0e999950f441f2adc841b8c7"/><file name="mysql4-upgrade-0.7.29-0.7.30.php" hash="448c3f0262d320927a67c3bdf2248b87"/><file name="mysql4-upgrade-0.7.30-0.7.31.php" hash="34ca255178a097f0bfd58d63024ff303"/><file name="mysql4-upgrade-0.7.31-0.7.32.php" hash="9c2270289ec1119ab13292825b7260e8"/><file name="mysql4-upgrade-0.7.32-0.7.33.php" hash="805cfe42d016780188eb0cb7bf5199fd"/><file name="mysql4-upgrade-0.7.33-0.7.34.php" hash="c115797b39ca05a11ba359bd2a997006"/><file name="mysql4-upgrade-0.7.34-0.7.35.php" hash="5e0c9878dca7097f391deb7f12041666"/><file name="mysql4-upgrade-0.7.35-0.7.36.php" hash="8c2ea970a1f8bfb1e4f8a44cbdb38fe6"/><file name="mysql4-upgrade-0.7.36-0.7.37.php" hash="07bf9ea01a058db11f3f53c2b262a547"/><file name="mysql4-upgrade-0.7.37-0.7.38.php" hash="30c07450806e0c47785c87ef33b93c30"/><file name="mysql4-upgrade-0.7.38-0.7.39.php" hash="b9272cd795d086256e30c392301dd694"/><file name="mysql4-upgrade-0.7.39-0.7.40.php" hash="48bddb7f32ca326c121521bea4aa123d"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="0e42c040a8ad7cdcd333513ad3242ea1"/><file name="mysql4-upgrade-0.7.40-0.7.41.php" hash="681a24fc90e818f247c9278e56fc22cf"/><file name="mysql4-upgrade-0.7.41-0.7.42.php" hash="9d42b6ee298ac25fb328fa5146492753"/><file name="mysql4-upgrade-0.7.43-0.7.44.php" hash="050e5d63ebfa04bdd57a6309679166f5"/><file name="mysql4-upgrade-0.7.44-0.7.45.php" hash="1a4cc1c7e259401c57aed4220483e633"/><file name="mysql4-upgrade-0.7.45-0.7.46.php" hash="5a4654a62a0811396925e2ca4adb2a46"/><file name="mysql4-upgrade-0.7.46-0.7.47.php" hash="c8b8e5055e15d33a8022ecc6adc77014"/><file name="mysql4-upgrade-0.7.47-0.7.48.php" hash="957376949159b9eb8753c9fa28a5a867"/><file name="mysql4-upgrade-0.7.48-0.7.49.php" hash="aaed0cde1206d55bf44cd3e6686af190"/><file name="mysql4-upgrade-0.7.49-0.7.50.php" hash="57b37f0719b078c4c625764d85ae5b03"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="7e0c59fa1f5d9f140fa31b3301efab6b"/><file name="mysql4-upgrade-0.7.50-0.7.51.php" hash="622a111a3f2b81c5d32b6d8025d1d048"/><file name="mysql4-upgrade-0.7.51-0.7.52.php" hash="b4c13ba1d8f8957f774abaf72ef35447"/><file name="mysql4-upgrade-0.7.52-0.7.53.php" hash="f62ec5e18aa80e66187cdf3b1de278de"/><file name="mysql4-upgrade-0.7.53-0.7.54.php" hash="757aa6098ea17b17d3116902dc7be3b3"/><file name="mysql4-upgrade-0.7.54-0.7.55.php" hash="96dc0d387fe6041c12a5cfa7014436f7"/><file name="mysql4-upgrade-0.7.55-0.7.56.php" hash="be67dce7c1e4b162e6f84d404ebf754d"/><file name="mysql4-upgrade-0.7.56-0.7.57.php" hash="3a269e09567cbc6bb616358059ab166d"/><file name="mysql4-upgrade-0.7.57-0.7.58.php" hash="3286e68856de2df6ad4727f4b06bb675"/><file name="mysql4-upgrade-0.7.58-0.7.59.php" hash="9d7e86bdc91bebcaa869322794fecf8b"/><file name="mysql4-upgrade-0.7.59-0.7.60.php" hash="38f210380cacc867ab17c56a6fefc71c"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="67cc3f88d62d577099591dba703591ab"/><file name="mysql4-upgrade-0.7.60-0.7.61.php" hash="0aa5d71181602994e81e57d12855dc41"/><file name="mysql4-upgrade-0.7.61-0.7.62.php" hash="115303e7a95de11ae88f7fc7d5bbad3d"/><file name="mysql4-upgrade-0.7.62-0.7.63.php" hash="05513ae185d2218c0cd7149a22d1ccd8"/><file name="mysql4-upgrade-0.7.63-0.7.64.php" hash="3361281520cea0d31c4ee630d7d727e4"/><file name="mysql4-upgrade-0.7.64-0.7.65.php" hash="92e376ef0bba20d8b619275fa76e139d"/><file name="mysql4-upgrade-0.7.65-0.7.66.php" hash="48d6fec6dde29cd75041f4d4ce5ee67e"/><file name="mysql4-upgrade-0.7.66-0.7.67.php" hash="d2976659ace49f2a265329db12b03129"/><file name="mysql4-upgrade-0.7.67-0.7.68.php" hash="89d1c98c285f09c343849cc930527b34"/><file name="mysql4-upgrade-0.7.68-0.7.69.php" hash="ea616d8ba8039db50d7d75460e2a1f46"/><file name="mysql4-upgrade-0.7.69-0.7.70.php" hash="52d5ad25a00242d9cea51db2b593021c"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="a68c2cd5a586e87a9351ee854cbd0d08"/><file name="mysql4-upgrade-0.7.70-0.7.71.php" hash="4247e7a1304a682043f2c028f8acface"/><file name="mysql4-upgrade-0.7.71-0.7.72.php" hash="b8d499e3820e95098b59241f1c1568f3"/><file name="mysql4-upgrade-0.7.72-0.7.73.php" hash="8387086581ab89ea580994e764abfdac"/><file name="mysql4-upgrade-0.7.73-1.4.0.0.0.php" hash="29b12a0fc191bed325fddadf54c24a08"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="180699aa8d5b88a650ee277ebbf77452"/><file name="mysql4-upgrade-1.4.0.0.0-1.4.0.0.1.php" hash="3b55a162a3af253b6506129c6df6360b"/><file name="mysql4-upgrade-1.4.0.0.1-1.4.0.0.2.php" hash="34a6f5923b96527a664a5598a8727a95"/><file name="mysql4-upgrade-1.4.0.0.10-1.4.0.0.11.php" hash="033f0c35991ba3a9c243f97e129c1269"/><file name="mysql4-upgrade-1.4.0.0.11-1.4.0.0.12.php" hash="a6faac10dad9ac7e8c7bba5ac816888e"/><file name="mysql4-upgrade-1.4.0.0.12-1.4.0.0.13.php" hash="ac727df9feaafbe4f71cf474ff734aaa"/><file name="mysql4-upgrade-1.4.0.0.13-1.4.0.0.14.php" hash="c28e9f8b3214308cb5a5d1da629b0245"/><file name="mysql4-upgrade-1.4.0.0.14-1.4.0.0.15.php" hash="2e39a7bfbd42ff9172a555d5610dd046"/><file name="mysql4-upgrade-1.4.0.0.15-1.4.0.0.16.php" hash="76eb00176e848426a7c2f2fa12a9c747"/><file name="mysql4-upgrade-1.4.0.0.16-1.4.0.0.17.php" hash="45f0e737d823702d981f3ee0ae700558"/><file name="mysql4-upgrade-1.4.0.0.17-1.4.0.0.18.php" hash="e90d278a0f5042539090da25152bfa90"/><file name="mysql4-upgrade-1.4.0.0.18-1.4.0.0.19.php" hash="72b100195e2885b4ef08c8d8c8f0a554"/><file name="mysql4-upgrade-1.4.0.0.19-1.4.0.0.20.php" hash="6b52232190f3c6bfbe6795c696477f61"/><file name="mysql4-upgrade-1.4.0.0.2-1.4.0.0.3.php" hash="2a830069f6b45abe68b6c752038c0ff1"/><file name="mysql4-upgrade-1.4.0.0.20-1.4.0.0.21.php" hash="b9b9101807c38728146574fb9ea943c9"/><file name="mysql4-upgrade-1.4.0.0.21-1.4.0.0.22.php" hash="bcf38c56ad3adb48a39de63d4d5a9743"/><file name="mysql4-upgrade-1.4.0.0.22-1.4.0.0.23.php" hash="235f71a24ea39c231e98db12a42b61b2"/><file name="mysql4-upgrade-1.4.0.0.23-1.4.0.0.24.php" hash="331fa853150d1ffa8c516d212aa2f8ad"/><file name="mysql4-upgrade-1.4.0.0.24-1.4.0.0.25.php" hash="82812309ff548852b02f1ed3e237fa88"/><file name="mysql4-upgrade-1.4.0.0.25-1.4.0.0.26.php" hash="b05811676a5dce07cef80ef120e8d81e"/><file name="mysql4-upgrade-1.4.0.0.26-1.4.0.0.27.php" hash="319cb1b721425218dfdbb8e6b35d2696"/><file name="mysql4-upgrade-1.4.0.0.27-1.4.0.0.28.php" hash="b05b195b2f019e9809ae5f632a290716"/><file name="mysql4-upgrade-1.4.0.0.28-1.4.0.0.29.php" hash="9dd311b7b21faa2ea4d51255ba418b4a"/><file name="mysql4-upgrade-1.4.0.0.3-1.4.0.0.4.php" hash="cbe028d3212877dd34d99d5dcebc6b5a"/><file name="mysql4-upgrade-1.4.0.0.30-1.4.0.0.31.php" hash="6467bf0816d5824368b73f14881a9594"/><file name="mysql4-upgrade-1.4.0.0.31-1.4.0.0.32.php" hash="63d31a684aae6f3685de3bdba5fa8382"/><file name="mysql4-upgrade-1.4.0.0.32-1.4.0.0.33.php" hash="e10a90a8b43ed815b753039927d987b6"/><file name="mysql4-upgrade-1.4.0.0.33-1.4.0.0.34.php" hash="6ff59cc05f2ba9cbaac47771bcf22ea3"/><file name="mysql4-upgrade-1.4.0.0.34-1.4.0.0.35.php" hash="2437bcdce44398b9ed73ed1e3decba40"/><file name="mysql4-upgrade-1.4.0.0.35-1.4.0.0.36.php" hash="68e92c8f846da8d06a49c7fa80d3262b"/><file name="mysql4-upgrade-1.4.0.0.36-1.4.0.0.37.php" hash="a52db42ba61e1621f7843566633367f3"/><file name="mysql4-upgrade-1.4.0.0.37-1.4.0.0.38.php" hash="c922e3c1000cf84cda132c340578b35b"/><file name="mysql4-upgrade-1.4.0.0.38-1.4.0.0.39.php" hash="346f6a122b15b7f1ac8e8a2f25a5f748"/><file name="mysql4-upgrade-1.4.0.0.39-1.4.0.0.40.php" hash="a1d2f7e1b745850087b5e23a19ced0c1"/><file name="mysql4-upgrade-1.4.0.0.4-1.4.0.0.5.php" hash="863fcd3a4d5f0d7f5a589d89e08291a5"/><file name="mysql4-upgrade-1.4.0.0.40-1.4.0.0.41.php" hash="e9b96de3dab54f6eb5b44ed1a6796dc5"/><file name="mysql4-upgrade-1.4.0.0.41-1.4.0.0.42.php" hash="75eefbda635369ec825856c3111419ac"/><file name="mysql4-upgrade-1.4.0.0.43-1.4.0.0.44.php" hash="44955c234a43e88720d98e69bed21d66"/><file name="mysql4-upgrade-1.4.0.0.5-1.4.0.0.6.php" hash="2b2d2223ab82953f2d561cecfc0565f4"/><file name="mysql4-upgrade-1.4.0.0.6-1.4.0.0.7.php" hash="e3a56b28711daac89ba7f7f0a0f1c236"/><file name="mysql4-upgrade-1.4.0.0.7-1.4.0.0.8.php" hash="20ec846642be63a3c0185211f45a4683"/><file name="mysql4-upgrade-1.4.0.0.8-1.4.0.0.9.php" hash="de70d7d3fb9ac7702845c5486f251a7e"/><file name="mysql4-upgrade-1.4.0.0.9-1.4.0.0.10.php" hash="d020d258926fad12d51577fb92238711"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="e9d8993129029d6ce440139fe76d2ae3"/><file name="mysql4-upgrade-1.6.0.0.8-1.6.0.0.9.php" hash="0e7307795fa7b2020f3e7d7068664395"/><file name="upgrade-1.6.0.0-1.6.0.0.1.php" hash="018fc237065f4d0f3d467f40b6337eb3"/><file name="upgrade-1.6.0.0.1-1.6.0.0.2.php" hash="ae66a75fdc23f3b148a98ff5f7189e75"/><file name="upgrade-1.6.0.0.10-1.6.0.0.11.php" hash="f4c233432fc57f2dad363dfa899eebe1"/><file name="upgrade-1.6.0.0.11-1.6.0.0.12.php" hash="38c8277fa9982c564b395248794a0fcf"/><file name="upgrade-1.6.0.0.14-1.6.0.0.15.php" hash="9d146cf31e038d66f1a6fbe754db7c8f"/><file name="upgrade-1.6.0.0.15-1.6.0.0.18.php" hash="57dc7ac4fdfb98a730fd06a8c52fb59e"/><file name="upgrade-1.6.0.0.18-1.6.0.0.19.php" hash="21c046f401d22b516e1a770e5b1e236f"/><file name="upgrade-1.6.0.0.19.1.1-1.6.0.0.19.1.2.php" hash="c7ac3babd810049a182c93b938467a2a"/><file name="upgrade-1.6.0.0.19.1.2-1.6.0.0.19.1.3.php" hash="fa45ba4962aaead2f228b24d7689b147"/><file name="upgrade-1.6.0.0.19.1.4-1.6.0.0.19.1.5.php" hash="00f9556e80b5c888cb8003cf895573b7"/><file name="upgrade-1.6.0.0.2-1.6.0.0.3.php" hash="756234b5c7485325e34e07d0ceb575b6"/><file name="upgrade-1.6.0.0.3-1.6.0.0.4.php" hash="d8db9fed9a6b4c3fb944f7fc2cde147e"/><file name="upgrade-1.6.0.0.4-1.6.0.0.5.php" hash="8beffe03092e948fad66fc023a34ab6e"/><file name="upgrade-1.6.0.0.5-1.6.0.0.6.php" hash="bc7b55027d59403cb325f1f79be7ec95"/><file name="upgrade-1.6.0.0.6-1.6.0.0.7.php" hash="74cdd027eb485ce7a38e5910f90c3833"/><file name="upgrade-1.6.0.0.7-1.6.0.0.8.php" hash="88c429ccc6589bc338a8f7459f0560d2"/><file name="upgrade-1.6.0.0.9-1.6.0.0.10.php" hash="3afc43cd784b7397da0318b7dd60c314"/></dir></dir></dir><dir name="CatalogIndex"><dir name="Model"><file name="Aggregation.php" hash="d8446e11e4e245b251f88cfd4da269b7"/><file name="Attribute.php" hash="e6216e285d12b7b51b0dff0d81747fca"/><dir name="Catalog"><dir name="Index"><file name="Flag.php" hash="e1eb655da746408366e7a977d28f6209"/><dir name="Kill"><file name="Flag.php" hash="1d37bd5c967979aa21bc99d6bc9f7154"/></dir></dir></dir><dir name="Data"><file name="Abstract.php" hash="d9f91599be307f824b17ba55a03777c3"/><file name="Configurable.php" hash="c98b4e4546bbf5af9cdec5bf4d32779c"/><file name="Grouped.php" hash="8964208ac3299ed7a0e918a1ad282c4d"/><file name="Simple.php" hash="966919e26852450fde971814d9267314"/><file name="Virtual.php" hash="34c4e295e18d47a3f0c84000c7cf37b7"/></dir><dir name="Indexer"><file name="Abstract.php" hash="163c7eb1f9d54cf54919c301a50d08bc"/><file name="Eav.php" hash="5f2d4772baae0ae42a3e963e9e6d1398"/><file name="Interface.php" hash="1701436dc2c161fc778c18135dad5579"/><file name="Minimalprice.php" hash="eb3b85b428e99ed84ff4226ce6430c00"/><file name="Price.php" hash="96f194a17250f6bf3c9737f5eb5b82f4"/><file name="Tierprice.php" hash="1765d4fed0a73ae74e756ac5f853aeaf"/></dir><file name="Indexer.php" hash="42484b0ee84d41b72aadad7334fda63b"/><dir name="Mysql4"><file name="Abstract.php" hash="8d7b96a754563d987b35f54ba1807457"/><file name="Aggregation.php" hash="82843ec810859f175730e7ca27225fca"/><file name="Attribute.php" hash="7e23d064ce0f6e24501c97cacd21adaa"/><dir name="Data"><file name="Abstract.php" hash="c869b2447587f487d821e953cde65236"/><file name="Configurable.php" hash="d841008e1a838053533d6a02ca3db950"/><file name="Grouped.php" hash="9765ee55da8451f5d76796eeb996f5d4"/></dir><dir name="Indexer"><file name="Abstract.php" hash="2e9a20aae085d294fbbccd65b34aee6f"/><file name="Eav.php" hash="a91a531718dd714f86f5819b8a4c3f22"/><file name="Minimalprice.php" hash="139a035f3cd6627a4b622471fa6bf6aa"/><file name="Price.php" hash="7d118cd7699496534a6318140f213256"/></dir><file name="Indexer.php" hash="aaa9010ef33d1e3b6e3babe05404a0e8"/><file name="Price.php" hash="5b01f7a082382b399f8cc02fc5f8637a"/><file name="Retreiver.php" hash="a8d0312325f1fcb397f1a816786cae9a"/><file name="Setup.php" hash="7c74778b63f245643a02b3133532fa0a"/></dir><file name="Observer.php" hash="4c4839c5c6289e4a68a4e68055d0fc39"/><file name="Price.php" hash="3cede2cadd925a804f5ab4533a0aedb6"/><dir name="Resource"><file name="Abstract.php" hash="6d28df0cb41449e78938675c2177ea5b"/><file name="Aggregation.php" hash="357e91b7049334de0d0e2242c40d6af5"/><file name="Attribute.php" hash="1c6e6fcd593b3982206ee870740b6632"/><dir name="Data"><file name="Abstract.php" hash="44d9ff50977584d81e3732a6bfca8c66"/><file name="Configurable.php" hash="33c11796275c59a0ccb21475d5fca796"/><file name="Grouped.php" hash="aee13957e362b6b29da1e130a0c9183e"/></dir><dir name="Indexer"><file name="Abstract.php" hash="77bd665e3220fba4e8874a2c9415f0f4"/><file name="Eav.php" hash="eeb4d41a3b496b7fa452aa7a88eb219f"/><file name="Minimalprice.php" hash="9e4e2c07140ee094c03dcf870fc7a8af"/><file name="Price.php" hash="b80a57584e61871ff1796c752f78110f"/></dir><file name="Indexer.php" hash="62590ce725754ad991a4b13b7631d100"/><file name="Price.php" hash="463262c0563bfbc9b4b12931edd38940"/><file name="Retreiver.php" hash="105b6e091067d5ad5ffbba34ec6de9e8"/><file name="Setup.php" hash="1e75b2e97a20aab6b916d800595a1423"/></dir><file name="Retreiver.php" hash="b0bad24bf9db93ad36c6a3f12cd6912e"/></dir><dir name="etc"><file name="config.xml" hash="a53aa3f175d09e5ec6364d19c0a41b05"/></dir><dir name="sql"><dir name="catalogindex_setup"><file name="install-1.6.0.0.php" hash="0301fb68116b2e5c6e57829c85770221"/><file name="mysql4-install-0.7.0.php" hash="ef60e25208b1c1c69f7760f788608866"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="edb518ac2880e64a3d1196fcca5c5408"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="5b08f13eecdbb190392bb1079ea992fa"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="79a5d99838ab289d59644b628479549d"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="86691781b4c72f2e3c009dbb219449d7"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="e0bbb2cf8699048f0dd4f11e26ee5b6f"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="ba2a3bf8d66332e75bda38855c520895"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="ce4b36e3b2e090fed799fcd96c1f3b4b"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="e9fb63a6f1712e39622423875a731f80"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="9cb3838b1c74e3ebb09bd1275d598d32"/><file name="mysql4-upgrade-0.7.9-0.7.10.php" hash="e49c1677360cdb321d1dc5fab9507457"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="c9a23a1358aa13ee28bfadf65ca8d70a"/></dir></dir></dir><dir name="CatalogInventory"><dir name="Block"><dir name="Adminhtml"><dir name="Form"><dir name="Field"><file name="Customergroup.php" hash="163d3b06c6d929bcbb5aa7bcc37dd3b0"/><file name="Minsaleqty.php" hash="a1253bfe158b1c145657c13d7f530c52"/></dir></dir></dir><file name="Qtyincrements.php" hash="0b959b5a8399ff56452d30bf872c1af5"/><dir name="Stockqty"><file name="Abstract.php" hash="634f12287ffad43305214d5425338a79"/><file name="Composite.php" hash="39a929bff736748e49c8762cef926fae"/><file name="Default.php" hash="2b9c5f6a616b4d46ee15d5665b2c1012"/><dir name="Type"><file name="Configurable.php" hash="22930288268d14c881af4b0e228f5a77"/><file name="Grouped.php" hash="299fcfde251b737162a76c738b709af3"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="533b21d642ec4d0da92a493a52a9fcdf"/><file name="Minsaleqty.php" hash="252c7dc08342b1b576cd15adf6896cc3"/></dir><dir name="Model"><dir name="Api2"><dir name="Stock"><dir name="Item"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="c84e4ed181f22fa7b7af3c76ed05b18f"/></dir></dir><file name="Rest.php" hash="e270aadfdfe27e36ce10ce652df5cd5f"/><dir name="Validator"><file name="Item.php" hash="b9d1b5db0d174bf229f6481140eccf61"/></dir></dir><file name="Item.php" hash="b1e6789de22bc81cd8c9e5d418f6e417"/></dir></dir><dir name="Indexer"><file name="Stock.php" hash="86bb76e8c6e4eed87e48a7f1d5969118"/></dir><dir name="Mysql4"><dir name="Indexer"><dir name="Stock"><file name="Configurable.php" hash="c575d00d8ec9f9a02fd2fc91f093e862"/><file name="Default.php" hash="71fef27bb3953dab13046778d6cc85cb"/><file name="Grouped.php" hash="681655f42e1abf8a5e4c65bcd51b9632"/><file name="Interface.php" hash="6f8454915dcd8d4c0aa8098ac47d3149"/></dir><file name="Stock.php" hash="aa87f7c0f015fe5348afbf63d8b64307"/></dir><dir name="Stock"><dir name="Item"><file name="Collection.php" hash="d89055e9f449549be221f5e68157f53b"/></dir><file name="Item.php" hash="0095d1ccf8329fb63a3506ae6a2edb28"/><file name="Status.php" hash="dbfb58bd7d8ae6a805d15ea4520740fc"/></dir><file name="Stock.php" hash="b92334f297141b9295798bc2e4608675"/></dir><file name="Observer.php" hash="29a2f1d731037a75fa2e3ac539e9750b"/><dir name="Resource"><dir name="Indexer"><dir name="Stock"><file name="Configurable.php" hash="cc79a58c240df2dea5a7876596f4fa98"/><file name="Default.php" hash="dd5890df9d9d4dec9eaa9a22311cf636"/><file name="Grouped.php" hash="645cece573ebe2ae8c9a5b44a5d5875a"/><file name="Interface.php" hash="935fe279b249565fe7fc209bed740516"/></dir><file name="Stock.php" hash="47cac76c6e244d2f76686813fb8bc00a"/></dir><dir name="Stock"><dir name="Item"><file name="Collection.php" hash="9dd080a07edee641c784c898b5295238"/></dir><file name="Item.php" hash="a2064ba40b20174a12164cc36d3bd33d"/><file name="Status.php" hash="ad92e42f445a27ff103eb6f1b8fb63f3"/></dir><file name="Stock.php" hash="ad4cbd3e0236e529cd80a11de1b7a53a"/></dir><dir name="Source"><file name="Backorders.php" hash="7f08d25b4803c2b5b85e29e5af359c37"/><file name="Stock.php" hash="b9450ed75a0d1be3c4daeea22202a455"/></dir><dir name="Stock"><dir name="Item"><dir name="Api"><file name="V2.php" hash="783c76e4aed5a72e67a7de070185b741"/></dir><file name="Api.php" hash="e39eb5620e1f577cb51e9feae480c035"/></dir><file name="Item.php" hash="a7b33c47af793511fb67d3a00319654d"/><file name="Status.php" hash="20fbca52b8afa08194b67aa6b2c16c44"/></dir><file name="Stock.php" hash="d6185257041d13f6b566d6601b49edb2"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Minqty.php" hash="00aa4d4dba81277cb07a21de73133759"/><file name="Minsaleqty.php" hash="a29d77d011b419a9786b1d7f17ede6af"/><file name="Qtyincrements.php" hash="5663f823ca9993f8995a70d6a909d88e"/></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="ec7bc5e2292512488a4248e8dbd1631e"/><file name="api.xml" hash="b037c38c8dfc663cbf6e1c1353e5d252"/><file name="api2.xml" hash="f983c350e9c44229e4fc4d41ce294d91"/><file name="config.xml" hash="79dd5f14b3d64fb65f20d5f3e3309a12"/><file name="system.xml" hash="d962c914c34134200d08f18d87d2fb00"/><file name="wsdl.xml" hash="cfad5924eb32b8fb7ccf79309e5966df"/><file name="wsi.xml" hash="ec7bdd8cb2bc5dd12c0a4d865fe3d313"/></dir><dir name="sql"><dir name="cataloginventory_setup"><file name="install-1.6.0.0.php" hash="186d243fdf3189b96caf9fbdc80aee6c"/><file name="mysql4-install-0.7.0.php" hash="75e2c895e6dfbad69c600f865db6cff4"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="6f0d39d6f4fe87c167fd43b5a39de2d9"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="7e6fcee3d6aeb8bed8be763687cdb8ba"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="04f921c7375bfb01a658b349c31537fd"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="e0e7a7ccefc05896c771fd99f780f708"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="5565cd4be6aead2b0932872f0eb55340"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="be17870a38cf723722f6f99b5bb68c18"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="17a69f148b233711d0c94537352837f1"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="243f5fc0eb15dec1d62992f4c7c7d56d"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="281755ca835ad1ee976f5118076bc94d"/><file name="mysql4-upgrade-1.6.0.0-1.6.0.0.1.php" hash="bfd977798f6118c5368b614c9c5c7795"/><file name="upgrade-1.6.0.0.1-1.6.0.0.2.php" hash="53308b12950c985fa05c7bbf9d49e12c"/></dir></dir></dir><dir name="CatalogRule"><dir name="Helper"><file name="Data.php" hash="560016778ef760247cb7d3b1caabb70f"/></dir><dir name="Model"><dir name="Action"><dir name="Index"><dir name="Refresh"><file name="Row.php" hash="b3d2f0876cfc7c3dc88cf084aa011f8c"/></dir><file name="Refresh.php" hash="73fc903920175f260c1400aa3924b902"/></dir></dir><file name="Flag.php" hash="7903d33b2f3b537f31def82ab02ea752"/><dir name="Mysql4"><dir name="Rule"><file name="Collection.php" hash="1c7ef5836a12d91c7b6cd1596a5c0c9d"/><dir name="Product"><dir name="Price"><file name="Collection.php" hash="4745a3b75d783c2ce549f8c66880f1b0"/></dir><file name="Price.php" hash="659daee66e70387f6ec6ad1c2782a9af"/></dir></dir><file name="Rule.php" hash="a2252e99ac1beaa96c558788d7541dca"/></dir><file name="Observer.php" hash="cc5c3ee1e4dfcff8e656b4c4f7df9713"/><dir name="Resource"><dir name="Rule"><file name="Collection.php" hash="b90b0ab93e58b0d99ba8a1d611a69b34"/><dir name="Product"><dir name="Price"><file name="Collection.php" hash="b05d4de6ec29c21af930a60b6b30b111"/></dir><file name="Price.php" hash="52dbe3cbb55103fcc8b1673ad0e29d5c"/></dir></dir><file name="Rule.php" hash="d4e895a2ed2e80408a4dadc95985eff2"/></dir><dir name="Rule"><dir name="Action"><file name="Collection.php" hash="cbefca5d6a981c7aa1d79431da1a1006"/><file name="Product.php" hash="1ef05545bae581adff21dea5eef7436c"/></dir><dir name="Condition"><file name="Combine.php" hash="d476c6954ab95cb3ebd80aff66eabb83"/><file name="Product.php" hash="22634d4e9c59ea7d4da5ac793e79c2e8"/></dir><dir name="Product"><file name="Price.php" hash="866097a5efe4d81c1bca28d1fce9973b"/></dir></dir><file name="Rule.php" hash="e3cd573194b1bcefbcd8d41b1ed07fa2"/></dir><dir name="etc"><file name="adminhtml.xml" hash="093d6f0890d18e7d864a9635fa08e26d"/><file name="config.xml" hash="93a7c143800b9a7f3ae090a0a97ce8bb"/></dir><dir name="sql"><dir name="catalogrule_setup"><file name="install-1.6.0.0.php" hash="f267d851d396f216b2ed0a73a177c717"/><file name="mysql4-install-0.7.0.php" hash="a2de42b77075ec0b403630b1a93e95f7"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="0fb948870f4792fd810bf6982237a0f7"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="9a60dc6338554003d882475a411f24ba"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="900eebf1d56e35c1ec6fe8b169ff71ab"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="c935d33a43baf1b58075fcd2fa9c8667"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="94818b4c3f6694c3fea522fa7071129a"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="b97239fccace41b55ae0b01d0334f07e"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="cd83d4f6daea4ea53974f39fc2603bf0"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="72612964477cbfdeacaa95a8bc7ace43"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="09a0d5a3d5c97841401bad35a7b34d05"/><file name="mysql4-upgrade-0.7.9-0.7.10.php" hash="5ada9f5e099cbbd1f03393f46d2ca6b7"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="4e50dfe5c65040c848b49001884ff11f"/><file name="upgrade-1.6.0.0-1.6.0.1.php" hash="6e81e9960d6c8d22bfbdd8642bc41da8"/><file name="upgrade-1.6.0.1-1.6.0.2.php" hash="d87e4ab753b65806b9cd8b3231abf543"/><file name="upgrade-1.6.0.2-1.6.0.3.php" hash="363f01664e7f1b960920a03a67be5037"/></dir></dir></dir><dir name="CatalogSearch"><dir name="Block"><dir name="Advanced"><file name="Form.php" hash="e73320b5f9aa1db5d6dd535cd5a51c77"/><file name="Result.php" hash="158d8c4234b2b24f5bce04f068878997"/></dir><file name="Autocomplete.php" hash="40a423ace61e14fb7e928aa1c18dbb74"/><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="686db1fc07ef2ff608bc1982b43359a3"/></dir></dir><file name="Layer.php" hash="8c4c35b064430d739f6d0d4a216f2b14"/><file name="Result.php" hash="e2767174a41982becba4446853a38d6c"/><file name="Term.php" hash="f02a1a1991d2837d54ee71c632e641a7"/></dir><dir name="Helper"><file name="Data.php" hash="16b83aedc3e508276e90b116a5ef0610"/></dir><dir name="Model"><file name="Advanced.php" hash="673206deb25181e532fa901a3cfdd5ea"/><dir name="Fulltext"><file name="Observer.php" hash="d98bcfbda298c86a256b0039c88463ca"/></dir><file name="Fulltext.php" hash="f45fac39b3af844c0ad489cc31fd36c5"/><dir name="Indexer"><file name="Fulltext.php" hash="fdb752b9e4a49a9a06022f7cd943846d"/></dir><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="70ca3a299e5a79880ae1e67593f207eb"/></dir></dir><file name="Layer.php" hash="9b58138cc29407e8df0bbeed10991657"/><dir name="Mysql4"><dir name="Advanced"><file name="Collection.php" hash="4e13897ad78aadf7dd362b68f57449e7"/></dir><file name="Advanced.php" hash="852588dba6d4f9e68b7ccd72ed22efd7"/><dir name="Fulltext"><file name="Collection.php" hash="cdf89df38a26752fb99ad76f1889266d"/><file name="Engine.php" hash="c4268d353f9345fa90659ada21e85120"/></dir><file name="Fulltext.php" hash="dc7b4be01985a3a6be2641549777ba7d"/><dir name="Indexer"><file name="Fulltext.php" hash="4bf43c11bd0a0691220b6f435927b394"/></dir><dir name="Query"><file name="Collection.php" hash="446ad51d56c11f26debb0b2452f3b412"/></dir><file name="Query.php" hash="13604101b9dee37fe489630cec0a8887"/><dir name="Search"><file name="Collection.php" hash="de4b4bb9646a0a2b8185d4ad7d8612d4"/></dir></dir><file name="Query.php" hash="da8170ea36c99b6fe69cadee58ff624c"/><dir name="Resource"><dir name="Advanced"><file name="Collection.php" hash="a31a945c32e467b20a94fcb4cbe0a902"/></dir><file name="Advanced.php" hash="2db00b3266767e591d4a3712a95b0d0a"/><dir name="Fulltext"><file name="Collection.php" hash="5bc08811112fe51ee569a649d4aeb3b1"/><file name="Engine.php" hash="c82ac50d4a4c7dd5cca266611d5bb32b"/></dir><file name="Fulltext.php" hash="1bdc33c95bcc0db28ab7ba6067298ae6"/><dir name="Helper"><file name="Mysql4.php" hash="936338862674186b816444f5c6797af0"/></dir><dir name="Indexer"><file name="Fulltext.php" hash="f2f34a970c04267593442eac45fabed1"/></dir><dir name="Query"><file name="Collection.php" hash="9e49419777202fb6732dd4e76d80ca83"/></dir><file name="Query.php" hash="a62f0dac4012d29dcd4a4aa0c107eebd"/><dir name="Search"><file name="Collection.php" hash="72a2af0b587772e944547732ec6c46ec"/></dir></dir><file name="Session.php" hash="74ee378fc7dd0cf7c17637b1a876e733"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Sitemap.php" hash="28eafe560f68a8bd2cf7ae5ed82abd35"/></dir></dir></dir></dir><dir name="controllers"><file name="AdvancedController.php" hash="f58f4832cf837a644aff27d3e9831d82"/><file name="AjaxController.php" hash="c512ebd4bd8ab2f0ad0a2d18f068de21"/><file name="ResultController.php" hash="6199d499b4d9040b3beda927f07248c8"/><file name="TermController.php" hash="3ff5982242c57a7f4ae02ce2cd28b7f0"/></dir><dir name="etc"><file name="adminhtml.xml" hash="666740063c81d96ab024d95108e0eb1b"/><file name="config.xml" hash="071d829deff261b3899f8506a20da0d7"/><file name="system.xml" hash="7e133c61e5dac5dfaf765f29e429bc78"/></dir><dir name="sql"><dir name="catalogsearch_setup"><file name="install-1.6.0.0.php" hash="685d4b125a8c0156af263540c0662aa6"/><file name="mysql4-install-0.7.0.php" hash="b692090952faab6b90b0013012a67a5a"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="fcfb5aa7d2be0d3619fb1273db0bc0fa"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="78f25300474601a56ccae20b2899228a"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="6375fb28c6357cf9d9fa92d92801cd4e"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="85b4b27b90be56dff302e49b9038d419"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="80d97a392fd15c328d6e929428bfe677"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="435822849781f094803c02ded421fe8a"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="20c3c617d661d1bf8a421594a6b3981a"/><file name="upgrade-1.6.0.0-1.8.2.0.php" hash="e9e7f420007c062e4c4536cf49205104"/></dir></dir></dir><dir name="Checkout"><dir name="Block"><file name="Agreements.php" hash="8d56692ecac1020f66f55d778263faff"/><dir name="Cart"><file name="Abstract.php" hash="f9ec040f942e590fdfc265813fd9fd1d"/><file name="Coupon.php" hash="511ace3d8e590ab1d3801d4da74e142c"/><file name="Crosssell.php" hash="862405f0b1554945cf9d249e33f0aaf6"/><dir name="Item"><file name="Configure.php" hash="278e92e905c3100630c48e875aa0466d"/><dir name="Renderer"><file name="Configurable.php" hash="87f290557da9375aa29539bbe00928d2"/><file name="Grouped.php" hash="0bf0e8c6a45b426435a63eb499029599"/></dir><file name="Renderer.php" hash="483f7b9973a1a2e5ec1cd4b380e1c773"/></dir><file name="Minicart.php" hash="2357ea9c0d495c8c608b36d67f8d864d"/><file name="Shipping.php" hash="1d480d34a3aa3829e7a17ec5d66a0100"/><file name="Sidebar.php" hash="479be1a791631077e4848911a2fe9816"/><file name="Totals.php" hash="643a06ca086b06a732004f073688eb35"/></dir><file name="Cart.php" hash="7ffacdd2422f769df682c83156aab966"/><file name="Links.php" hash="3ea4b4fd3a0c040d55c258e2b9c23102"/><dir name="Multishipping"><file name="Abstract.php" hash="b0a1ea630d0c18369dadc359446bb1e1"/><dir name="Address"><file name="Select.php" hash="0b7c8184050f87a58b1e2eb5a82f4dc9"/></dir><file name="Addresses.php" hash="f64e18dd22554cae891a9181e02abed0"/><dir name="Billing"><file name="Items.php" hash="75dbdfc33982acd44dc344b0b23626f5"/></dir><file name="Billing.php" hash="78b56757554c4e521e610376d975648d"/><file name="Link.php" hash="2a19d42e946334b65b12ce78a24ae31f"/><file name="Overview.php" hash="9bc38e98f85764d58ba8292aed5335c6"/><dir name="Payment"><file name="Info.php" hash="a670440634774b806310ea1a251ea034"/></dir><file name="Shipping.php" hash="3f1832bfc1c91d15d4491c4b8fed4ba4"/><file name="State.php" hash="0ec043c400c0ef3640c4946d85277a82"/><file name="Success.php" hash="d869c536a16ec9386b7dfca8eb94ab19"/></dir><dir name="Onepage"><file name="Abstract.php" hash="bcfa18c091ad1413c3398067b7919d66"/><file name="Billing.php" hash="edaae580ab1c058260cd2919bbbd86b5"/><file name="Failure.php" hash="56bf05b27fbf60186f6967e47726c78c"/><file name="Link.php" hash="3273d959fbb7923af96284a736d6fcca"/><file name="Login.php" hash="260a20603dd06f5f0be399db86464f3f"/><dir name="Payment"><file name="Info.php" hash="d165a359b5da76e98f30c8031a12d0a9"/><file name="Methods.php" hash="8f17730b97a36e5d20542afe940146e8"/></dir><file name="Payment.php" hash="0ad11208d8bcf7523aa4690846fa3b1f"/><file name="Progress.php" hash="fe224885dc3f53b82d7faa8c77b2a2dd"/><dir name="Review"><file name="Info.php" hash="6f9552265170840423bddf029c15def5"/></dir><file name="Review.php" hash="6f3b70cd1870a4349af5e78a29ca554b"/><dir name="Shipping"><dir name="Method"><file name="Additional.php" hash="9406f7ac92241d223906b3fa12531a82"/><file name="Available.php" hash="429a98e91babb72ae1eb1d5b03ce28e8"/></dir><file name="Method.php" hash="33542a802205b6e0aecfa7064dd396e5"/></dir><file name="Shipping.php" hash="1f9301b61fe67ab39e6e2d5462ab1b41"/><file name="Success.php" hash="44abaf732daf677bd272fda41c8e83b0"/></dir><file name="Onepage.php" hash="975f6c5d38ee23b49a336baaf90ec759"/><file name="Success.php" hash="e1bdcc4ff63a008a52416e7dcd9f20b7"/><dir name="Total"><file name="Default.php" hash="f72876020eb1e469d32a2439a9335608"/><file name="Nominal.php" hash="4675f9491a2608573a67371428db578d"/><file name="Tax.php" hash="5dc3bd46f6a148f409a7731ce1a5af84"/></dir></dir><dir name="Controller"><file name="Action.php" hash="43c24f20c6930bc9b9227eeb2dc057de"/></dir><file name="Exception.php" hash="4bffd7231c2d9380b18fc9f44ea62e07"/><dir name="Helper"><file name="Cart.php" hash="17e59a7184d8a7cb99b900984736e197"/><file name="Data.php" hash="51217ce0f916f303606743f5f3b8c98d"/><file name="Url.php" hash="9676658d942ddb56c34c76bb48705570"/></dir><dir name="Model"><file name="Agreement.php" hash="5ea689d86468a3e9bfe38d26274548a1"/><dir name="Api"><dir name="Resource"><file name="Customer.php" hash="fd4f5a72d3450a84bf635fea8d4bfa90"/><file name="Product.php" hash="0b62cd2b7405e808aadfc1b94d3a4f9a"/></dir><file name="Resource.php" hash="f70d9833d06848322aa3199ddf6aaff9"/></dir><dir name="Cart"><dir name="Api"><file name="V2.php" hash="8e565977022bad3538d555b4143600ce"/></dir><file name="Api.php" hash="4f3cd847a5e5ec831cf5a91875da1fe8"/><dir name="Coupon"><dir name="Api"><file name="V2.php" hash="300d9073ae574bf1a59c8a49405ccb54"/></dir><file name="Api.php" hash="3d79972a820b8e118eaaeb55fe71df84"/></dir><dir name="Customer"><dir name="Api"><file name="V2.php" hash="37e2cde05368b1825ae543663c98c64b"/></dir><file name="Api.php" hash="e148b69dbf2338fe2ca192de81af2615"/></dir><file name="Interface.php" hash="b12492224b276a8af17c00aa7dd22d3b"/><dir name="Payment"><dir name="Api"><file name="V2.php" hash="0a212d789a1bedf703f930b16873050c"/></dir><file name="Api.php" hash="400fbc37a9bbde155bbec0f92feeabd6"/></dir><dir name="Product"><dir name="Api"><file name="V2.php" hash="72dac519831f333fe8ad4f1cc6b68822"/></dir><file name="Api.php" hash="8462145424fadbc98ecb6ba3b6b03045"/></dir><dir name="Shipping"><dir name="Api"><file name="V2.php" hash="32bd4bbb1a051851da1c7b611f228f09"/></dir><file name="Api.php" hash="2d905e80b2233b6464722d4bcbfa9a22"/></dir></dir><file name="Cart.php" hash="86e4afc52506b761ca0226ed32f6f218"/><dir name="Config"><dir name="Source"><dir name="Cart"><file name="Summary.php" hash="08585e104eb4aed09d41c4491ff0d07b"/></dir></dir></dir><dir name="Mysql4"><dir name="Agreement"><file name="Collection.php" hash="0afca26f992a28eb4892066decbcb69b"/></dir><file name="Agreement.php" hash="792d897865a39eecbb919609a410619a"/><file name="Cart.php" hash="be6723269141b1451a4f7c86e7497300"/><file name="Setup.php" hash="c38f1ad47143d40d06a970a385a313bc"/></dir><file name="Observer.php" hash="2d31b6d1cb06767587b0a1c4cdfae1c9"/><dir name="Resource"><dir name="Agreement"><file name="Collection.php" hash="c913189410058ef96f312aa6a5d3527b"/></dir><file name="Agreement.php" hash="e0995392f16cfa42398e742a2c2abced"/><file name="Cart.php" hash="c78518be163aa4f0ab31e61c7f5e0e19"/><file name="Setup.php" hash="081ca5d71ba089d5d605f3186d423313"/></dir><file name="Session.php" hash="f8abf097841c62f56529f482a406296b"/><dir name="Type"><file name="Abstract.php" hash="fc48b701ceebbf0d057cc8d158827fac"/><dir name="Multishipping"><file name="State.php" hash="6d7e4f36bf9477d11f9a2a10cc39ccb1"/></dir><file name="Multishipping.php" hash="92f299c426eaaf207ff10f1a42ac0d31"/><file name="Onepage.php" hash="52bdd3ad2ea82a6adf54145ba10798bb"/></dir></dir><dir name="controllers"><file name="CartController.php" hash="0c443eccd41d6ef12a0ce8deb1f06a4a"/><file name="IndexController.php" hash="27765c343e0c3204259e5ac11bcad9b2"/><dir name="Multishipping"><file name="AddressController.php" hash="96de3280a8451974d109e44ffbedc311"/></dir><file name="MultishippingController.php" hash="d89dfbf2f130b832792907e62746e9c5"/><file name="OnepageController.php" hash="de8e00a003711936b831abb34c52e4d0"/></dir><dir name="etc"><file name="adminhtml.xml" hash="3a89352000cfec6bdaebcfdba1fd01d9"/><file name="api.xml" hash="c898575a004eac996f514232ec42d894"/><file name="config.xml" hash="a033a72513ee637d6c86fae693430061"/><file name="jstranslator.xml" hash="09192c5171c833110988c9929eb8dff5"/><file name="system.xml" hash="047fb91fb6234a0f324ae8f88b75bf03"/><file name="wsdl.xml" hash="9a10e25803e84713f5031a168dd0c624"/><file name="wsi.xml" hash="2567bee4ef18e1b426c700ce66c3bcb1"/></dir><dir name="sql"><dir name="checkout_setup"><file name="install-1.6.0.0.php" hash="e9845a59bd24b9ed5ce891dcbc8929fe"/><file name="mysql4-install-0.9.1.php" hash="a583303cd013f23487f913cf7489a65c"/><file name="mysql4-upgrade-0.9.0-0.9.1.php" hash="0bb20a7e58b933371b288d310e528a3b"/><file name="mysql4-upgrade-0.9.1-0.9.2.php" hash="25503ad4ffcb56651642b2519194b852"/><file name="mysql4-upgrade-0.9.2-0.9.3.php" hash="fd21901e41bfea81736ac0ca1075a1ad"/><file name="mysql4-upgrade-0.9.3-0.9.4.php" hash="d79b9cb31eb2a39f4fd51ff16908f0ef"/><file name="mysql4-upgrade-0.9.4-0.9.5.php" hash="ff007a238948d561df296dbed692cb47"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="bc84512cc6d28fff2ee3c02bf1fb2ede"/></dir></dir></dir><dir name="Cms"><dir name="Block"><file name="Block.php" hash="808cc7b98e9d5d6b9bffa3fa2fb00620"/><file name="Page.php" hash="d9987805a72d22baf4267b0a1c34a572"/><dir name="Widget"><file name="Block.php" hash="ebe7556437cd84216b0a3dbd25b69269"/><dir name="Page"><file name="Link.php" hash="7aedc331ff5e05d58314a0650235d45c"/></dir></dir></dir><dir name="Controller"><file name="Router.php" hash="153a05f03ef48b34b18276dc18faf339"/></dir><dir name="Helper"><file name="Data.php" hash="704b0bf92e17ea9d45ad7aead5825fb8"/><file name="Page.php" hash="ef27b6592747ccbbcd19a7a32e774ffd"/><dir name="Wysiwyg"><file name="Images.php" hash="1af03c026e2fefc7c47d96166c3bdc3a"/></dir></dir><dir name="Model"><dir name="Adminhtml"><dir name="Template"><file name="Filter.php" hash="5f12afe3c720ffb4cea6fed946135bb9"/></dir></dir><file name="Block.php" hash="d4d7b6f77300797ba3ca3d72bc58818c"/><dir name="Mysql4"><dir name="Block"><file name="Collection.php" hash="6fd2d7b274c65303976683c9255f5667"/></dir><file name="Block.php" hash="16bd676bde704194d0eb383b53d853b4"/><dir name="Page"><file name="Collection.php" hash="c34032769799df3970c4edc4ceacce8d"/><file name="Service.php" hash="1404261f5a2aedd536cc79d431348eb1"/></dir><file name="Page.php" hash="477f2eff400115e79e61ef848d129d8c"/></dir><file name="Observer.php" hash="cc521139189d28588d9434bb58e79693"/><file name="Page.php" hash="2967afd2aa4840338d22e2d0e090cc3f"/><dir name="Resource"><dir name="Block"><file name="Collection.php" hash="9a86e9526a30783ed5ded05d9f5e9f14"/></dir><file name="Block.php" hash="d641f3d6a76d9186f44dae801d8094fc"/><dir name="Page"><file name="Collection.php" hash="c6ad6050fb8c4163a438698e1bb2cd0a"/><file name="Service.php" hash="ee4af8837bfd0333f48aa9d1475eea28"/></dir><file name="Page.php" hash="af4b60e4531be743407d0f6c36f5b2dd"/></dir><dir name="Template"><file name="Filter.php" hash="ea84ea91afc7c16077e72ac41a17e7d3"/></dir><dir name="Wysiwyg"><file name="Config.php" hash="a5e8ed87851da04ef8e219cc2b4f6596"/><dir name="Images"><dir name="Storage"><file name="Collection.php" hash="3fbb9096f505cf63a7a54f7f67fa3095"/></dir><file name="Storage.php" hash="1ddce482989fd0b9244845f903f2270c"/></dir></dir></dir><dir name="controllers"><file name="IndexController.php" hash="0e7e12bc4babef09e69e7467cb65a108"/><file name="PageController.php" hash="55524ed778a003db6067c75ded5c7516"/></dir><dir name="data"><dir name="cms_setup"><file name="data-install-1.6.0.0.php" hash="fa64f4284e2bdbda37b03a586787eadf"/><file name="data-upgrade-1.6.0.0.0-1.6.0.0.1.php" hash="b3b6fa8bef11edfc71f459e7873b6268"/><file name="data-upgrade-1.6.0.0.1-1.6.0.0.2.php" hash="2de01ad853f4243be77e6a8b6953870d"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="fe1b8ff7eebe920ed8ab2adc1eb0c7ea"/><file name="config.xml" hash="57993187979be0c04798d298a31fafd7"/><file name="system.xml" hash="df2b1f760a8f78b9f43a1ec7d05eea13"/><file name="widget.xml" hash="6c29f20e2b3267e154cba1fb4cccfb82"/></dir><dir name="sql"><dir name="cms_setup"><file name="install-1.6.0.0.php" hash="5669050d7b7e3b78e466fcd832eb66ab"/><file name="mysql4-install-0.7.0.php" hash="e7c388928acdec38b1146c1ea6482ad6"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="8199f7126a7a23e3fcd3010c212b86cb"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="2809caa9a092d89fc11e22504bb149be"/><file name="mysql4-upgrade-0.7.10-0.7.11.php" hash="e26c67326979cee3f22ead8e4a330ac2"/><file name="mysql4-upgrade-0.7.11-0.7.12.php" hash="971bb950e4533dc2fbfdb3651062bae8"/><file name="mysql4-upgrade-0.7.12-0.7.13.php" hash="ecf73f12a15a4c76b4b0c184b2815e41"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="c27a9ac81e7664b8555f369eb73c00ba"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="1d526c35029e9ccd1358bfb79ba85219"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="f7c8cad8181dce1db0ff749bb2a1f1c3"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="1a877f21e0adb5d14696f155d744cf3e"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="772f6217e2477aa7c7f6096654c08fc3"/><file name="mysql4-upgrade-0.7.9-0.7.10.php" hash="3533979da1385e39faff4bbde8179e24"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="be1f73f82e59a420e0a74401a0fca80b"/></dir></dir></dir><dir name="ConfigurableSwatches"><dir name="Block"><dir name="Catalog"><dir name="Layer"><dir name="State"><file name="Swatch.php" hash="ba2d565918d86b78d018bf2252ce107f"/></dir></dir><dir name="Media"><dir name="Js"><file name="Abstract.php" hash="65d13549eff5aed01e7de5fbd1dae86a"/><file name="List.php" hash="5d1bf59d2c66986f88516c17e578843d"/><file name="Product.php" hash="0e01cd15f0d717b0ed2db9a5c63a5d8b"/></dir></dir><dir name="Product"><dir name="List"><file name="Price.php" hash="1274be29931b6896545f142fc32fa5dd"/></dir><dir name="View"><dir name="Type"><dir name="Configurable"><file name="Swatches.php" hash="ca8cde3ec6ecba0f802a4be0a95b2720"/></dir></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="83667ceddcda8538e54503027669e31b"/><dir name="List"><file name="Price.php" hash="c6597c6257ea1be6bd0c33e79cbdb21e"/></dir><file name="Mediafallback.php" hash="a4c9b34b6c02f24f5f879dfdcf431ee8"/><file name="Productimg.php" hash="7c45bc60904625048daebe1ae6ee3426"/><file name="Productlist.php" hash="485ac59635fa6338bb6047899ce210b6"/><file name="Swatchdimensions.php" hash="5d9b2d9c5cb9db5eee4b3a43d11c940d"/></dir><dir name="Model"><file name="Observer.php" hash="21a8192931a3a8c5a58e64b86a1a16b0"/><dir name="Resource"><dir name="Catalog"><dir name="Product"><dir name="Attribute"><dir name="Super"><file name="Collection.php" hash="19e2652eebbc5781ec5a5200ff21cf88"/></dir></dir><dir name="Type"><dir name="Configurable"><dir name="Product"><file name="Collection.php" hash="7ee76f04040a166ff09c9f49057916cf"/></dir></dir><file name="Configurable.php" hash="e240a0d73107c1a05bcd2f2c717b6305"/></dir></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Catalog"><dir name="Product"><dir name="Configattribute"><file name="Select.php" hash="c1307cb449fcfc2b28405c32ac1be385"/></dir><file name="Configattribute.php" hash="36770f92cc2f60edf324faa1f7c26f0b"/></dir></dir></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="520821e755cb0713359c9d5e41e9b793"/><file name="config.xml" hash="34c0ad0df08a9ccdbb358d7d46778cf8"/><file name="jstranslator.xml" hash="6c0bfe8d32613e25cd6e81bf40e2eb52"/><file name="system.xml" hash="e06ba414a420bfbc067f36f2724bc147"/></dir></dir><dir name="Connect"><dir name="Block"><dir name="Adminhtml"><dir name="Extension"><dir name="Custom"><dir name="Edit"><file name="Form.php" hash="d789b9e5f5b5be54256d54c2067a7495"/><dir name="Tab"><file name="Abstract.php" hash="faa6ebfa9a24b2726091a7079e32b2af"/><file name="Authors.php" hash="18e44b9c37050798bc44e7bebefe6b79"/><file name="Contents.php" hash="a69e88be8f99a4dfdc42d1d8a5cfe64c"/><file name="Depends.php" hash="2f4c09428ffbafc3c976394e94a013ee"/><file name="Grid.php" hash="ff77b7a1539670805534f87ae2ef4a93"/><file name="Load.php" hash="1e51f328e913bbcb0a08feed4d1fdfc1"/><file name="Local.php" hash="2d3289cfa670c6ed650344225ad9175a"/><file name="Package.php" hash="e9d0265bb0a008a6c36cc760ceec0386"/><file name="Release.php" hash="b7f347176161922003596b1819dc0027"/></dir><file name="Tabs.php" hash="b27a5ab996909088f5d914598ffd5e22"/></dir><file name="Edit.php" hash="c7861675784fbb52b833e3dbe0f480fa"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="08cf5672c1c0b67a213ba6ace2a58107"/></dir><dir name="Model"><dir name="Extension"><file name="Collection.php" hash="8a067c24e32d6ce8ea9d8a5968a728f7"/></dir><file name="Extension.php" hash="816868c3415ddd41f45e409501f6c7dc"/><file name="Session.php" hash="5440476ad3ef3f7c3c2230ae1ab28ea8"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Extension"><file name="CustomController.php" hash="f33eead77dce7b537894d8b16226c5f2"/><file name="LocalController.php" hash="d930aaed8a7b773573b59e8bb442ddf6"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="101c7900791af6e5ee9c95da47c483f1"/><file name="config.xml" hash="fe2f20c5ab7f316d5c8148ff72008105"/></dir></dir><dir name="Contacts"><dir name="Helper"><file name="Data.php" hash="1a738165172917c879f9ac141c11b9e1"/></dir><dir name="Model"><dir name="System"><dir name="Config"><dir name="Backend"><file name="Links.php" hash="ba1b3017172093f46465a105ad2996a2"/></dir></dir></dir></dir><dir name="controllers"><file name="IndexController.php" hash="bf03d63562bb14bc90fed7f19e0b7f30"/></dir><dir name="etc"><file name="adminhtml.xml" hash="2cedca70a58666ac2347bbe3f9bdafd0"/><file name="config.xml" hash="5c00f20bddf8f55411db826d7d613921"/><file name="system.xml" hash="4de5af82897ea61d65abc342179e27f0"/></dir><dir name="sql"><dir name="contacts_setup"><file name="install-1.6.0.0.php" hash="13f3139c5258cd52688763b6b9dd99b0"/><file name="mysql4-install-0.7.1.php" hash="94a59176972576cb435ea6505e08636f"/><file name="mysql4-install-0.8.0.php" hash="894c4d3fda75ee5ff0bad394ef03ae15"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="f21132d7a6189d17610d76954ba3e6f8"/></dir></dir></dir><dir name="Core"><dir name="Block"><file name="Abstract.php" hash="60ab25109ee03a2e80dcd9c223b7a4c0"/><file name="Flush.php" hash="689a5e3eb946bcb0d761dfbc1ef737d4"/><dir name="Html"><file name="Calendar.php" hash="6159aac3f3bcfbb50f6292f8426128b5"/><file name="Date.php" hash="44aa2b30529c837699f0302d3f5a129e"/><file name="Link.php" hash="c0586fbede4941f473fb0d9b4199eabb"/><file name="Select.php" hash="3a00a83d4fcc827a19050989db504111"/></dir><file name="Messages.php" hash="81e21fc3d8782d4ddb9f82847f79f78d"/><file name="Profiler.php" hash="768c063dfbf1fd40e5d1472fe3f77884"/><dir name="Store"><file name="Switcher.php" hash="81c614c6aaa95f2b016351aa60a6565c"/></dir><dir name="Template"><file name="Facade.php" hash="66b97c587f08c3312a3a7e902d012d25"/><file name="Smarty.php" hash="726d82c94a6e6aca2b2ecc3a4abb2ce2"/><file name="Zend.php" hash="62cca867dd890b50e95988c0f863861c"/></dir><file name="Template.php" hash="e9011e2cee5cee76db541491dfc871fa"/><dir name="Text"><dir name="List"><file name="Item.php" hash="be4927dd33ac2147f6bbee57c4d9ce63"/><file name="Link.php" hash="8935c490d0b2cfea4147236707135178"/></dir><file name="List.php" hash="0415c60e89ee20a9b164303625630320"/><dir name="Tag"><dir name="Css"><file name="Admin.php" hash="bd031a45ce2d6071fcaa9d6c68c16201"/></dir><file name="Css.php" hash="871935fa964adbf99609e014e60d4ddd"/><file name="Debug.php" hash="36f5331bdcb23703d33418c423abc5ae"/><file name="Js.php" hash="659e91e2758e5e5582a42188e8671f59"/><file name="Meta.php" hash="cee17b0e3efeb8cd34c4f7f34d191789"/></dir><file name="Tag.php" hash="09b53ed3fe7f8730140f85ef49d8ba6e"/></dir><file name="Text.php" hash="5dd0190a290ba9314143284a465f3783"/></dir><dir name="Controller"><dir name="Front"><file name="Action.php" hash="0bd3f2b0428b65fec0b20d3260624a4c"/><file name="Router.php" hash="f4a1e85ed9ceff4df31de9fc3925b749"/></dir><dir name="Request"><file name="Http.php" hash="af9331e309ad5a600e37f45f456b85ea"/></dir><dir name="Response"><file name="Http.php" hash="b4e08d0cf4f3958fea43e98d23e921a3"/></dir><dir name="Varien"><file name="Action.php" hash="89b97e5ebc240a83f5d37a95fb0e269b"/><file name="Exception.php" hash="a798a1e14cf080320fd8ff1c61b7c0ce"/><file name="Front.php" hash="fa826d6cb39da808d9f2abdb6c4a3619"/><dir name="Router"><file name="Abstract.php" hash="9b7dbb6f0025291498471f3df80a1775"/><file name="Admin.php" hash="e2bfb79df9e269912795b699a2cbc57c"/><file name="Default.php" hash="4af9b582bf8c1d58a787c1b0fd814296"/><file name="Standard.php" hash="e270230e4ab92d50e975c49774ef57b2"/></dir></dir></dir><file name="Exception.php" hash="e24ff5a61dfb253617d88752d7035dae"/><dir name="Helper"><file name="Abstract.php" hash="8e71f2a30d98a6a7e9bdfa3d473679ed"/><file name="Array.php" hash="484a0a74a7f9e3c08c3a4b73f7337ac5"/><file name="Cookie.php" hash="7c6e78a4bb52f8a2e8cd72c611c3a607"/><file name="Data.php" hash="ef93ca79009474e6b8d935fdd7f03c46"/><dir name="File"><dir name="Storage"><file name="Database.php" hash="ad54c841a0cb8f9a6c85923fd70899d7"/></dir><file name="Storage.php" hash="8f02a3f236314fceb25ab16c5d47f2f6"/></dir><file name="Hint.php" hash="694fd4bbddbaacdd56bd07683802a234"/><file name="Http.php" hash="a63b38419324891ec908414714758d00"/><file name="Js.php" hash="be84944e4f41c399d10b154b8a130a81"/><file name="String.php" hash="30c8bed45c799cf6fdee9d34f699f472"/><file name="Translate.php" hash="a6dd08880eb8f27ef543d93ea532fff2"/><file name="UnserializeArray.php" hash="d5506fe8abd8794aaa7e4ad23821bce7"/><dir name="Url"><file name="Rewrite.php" hash="97e46be2318d6a82d40e217f234663d6"/></dir><file name="Url.php" hash="9f8fc179fc4eb191c17041ddca1ce8a1"/></dir><dir name="Model"><file name="Abstract.php" hash="3ebc995256ad69f924819f96e401b60f"/><dir name="App"><file name="Area.php" hash="6c814d69b0066a826869f69841e0b287"/><file name="Emulation.php" hash="218411722dbc2925f6afd70c4c493cb7"/></dir><file name="App.php" hash="c7d73ebf537565a7293a88ece6ea7613"/><file name="Cache.php" hash="00e7b0a35d49e3774f39b4c9811017da"/><file name="Calculator.php" hash="7903aee2fa175e91615c702870866b9f"/><dir name="Config"><file name="Base.php" hash="95d6606f6dc37e645b9bf5d95f860dac"/><file name="Data.php" hash="b002587f1ecdf2ddced2371c44591eb0"/><file name="Element.php" hash="070129342aea34a54ba3cc99052d4075"/><file name="Options.php" hash="a2afec98dfdde676d372aab35fc1d0b3"/><file name="System.php" hash="e44dcb546c68d06df2e58d135030a140"/></dir><file name="Config.php" hash="c0aac670427c25d85f8667a47ea9eb63"/><file name="Convert.php" hash="96387227fa5be3cff23e39a345234b75"/><file name="Cookie.php" hash="cc5c60b0a34494b472adcb4197286026"/><file name="Date.php" hash="1f7628558283dc16fc637116fc3df677"/><dir name="Design"><file name="Config.php" hash="93276cf40f2f17108cb16e6feb0fb674"/><file name="Fallback.php" hash="5484111090937874c9989a2df61a13d8"/><file name="Package.php" hash="267df9446f26ba8a64cb2c04c9f7b20d"/><dir name="Source"><file name="Apply.php" hash="232aac8a7ca16ed044f1d88d8ece4775"/><file name="Design.php" hash="b594cf0c90f77d1eab9947667024a6b3"/></dir></dir><file name="Design.php" hash="edf9897c28bb0697addc9050785b1389"/><file name="Domainpolicy.php" hash="80272f0001a2360486342d53df6a7890"/><dir name="Email"><file name="Info.php" hash="b928f262cef6543836df610a9ddb81d5"/><file name="Queue.php" hash="faa403ad5e67f15b7e76a702a72c787f"/><dir name="Template"><file name="Abstract.php" hash="8f8c124b78d71d3757fb7439d06ed229"/><file name="Filter.php" hash="5b30e3fd74c056d97ba00b49f3a7691b"/><file name="Mailer.php" hash="14660ee8eeee2b300b46a01392c35712"/></dir><file name="Template.php" hash="5ee9291da1cb0bfcf71d14430777d5ae"/><file name="Transport.php" hash="46a8e4e2e504fc31a034f41bd05af5ca"/></dir><file name="Email.php" hash="e31ab1cef8d2dbaf9c9e02239774c039"/><file name="Encryption.php" hash="19930c4f9ce2b59dff7bf8e6ebcb9fc4"/><file name="Factory.php" hash="1def8ecf557dd80c27bd8b9ae0389aa0"/><dir name="File"><dir name="Storage"><file name="Abstract.php" hash="0f4742c51ad478f62623ce0ff36c02b7"/><dir name="Database"><file name="Abstract.php" hash="9558ea6318d43c989527c5c6781427d9"/></dir><file name="Database.php" hash="c8cd146d38f94cb1a34aa7ba4807e9d5"/><dir name="Directory"><file name="Database.php" hash="59a04f3cc135f69cc177d7713ee44da5"/></dir><file name="File.php" hash="33253411661b819e14dd8ffcbf68b991"/><file name="Flag.php" hash="36cd58ed02c91be1d8d6e163a6a37eaf"/></dir><file name="Storage.php" hash="29f0f2b03940992772d6d575742eac8b"/><file name="Uploader.php" hash="ac91eabcb578a50962258f0a1f684472"/><dir name="Validator"><file name="AvailablePath.php" hash="ec8d101e319bf09e3514236868d9fe96"/><file name="Image.php" hash="fed721fed352dcf04bae8d86d64c5e38"/><file name="NotProtectedExtension.php" hash="2a5bc90d074468f322ec80c5f22ff994"/></dir></dir><file name="Flag.php" hash="7dfd86cc88faaecb61270b06a8949afe"/><dir name="Input"><dir name="Filter"><file name="MaliciousCode.php" hash="45d2eba5b5367dd11cb343c3d95b2a0f"/></dir><file name="Filter.php" hash="9a705f56a3b458781ed1d0e08eb6d9de"/></dir><file name="Language.php" hash="5553b1a3996e214ee04bb873d2e496a2"/><dir name="Layout"><file name="Data.php" hash="ad8e232f9bfbcb6a2597762a4794ef59"/><file name="Element.php" hash="f763346da15b317cee92c02f57a37292"/><file name="Update.php" hash="d6b3c449d3e49dabc4087c36d083fa55"/></dir><file name="Layout.php" hash="f0496b8ddcef27367d8c492ed398a506"/><dir name="Locale"><file name="Config.php" hash="f38c5dec6e40442e75cac2587838acba"/></dir><file name="Locale.php" hash="8501f332360a8052748e3b25d1db656a"/><dir name="Log"><file name="Adapter.php" hash="16e93511497b13a8e07e4d517225ed0c"/></dir><file name="Logger.php" hash="beb95c8bf5b8505b8104278d3b9958a5"/><dir name="Magento"><dir name="Api"><file name="V2.php" hash="990a2e9e5813e05c5d1add95e22148a6"/></dir><file name="Api.php" hash="6fc47bad41f25c86614e3339b6171c4b"/></dir><dir name="Message"><file name="Abstract.php" hash="0b916894d2dc70d6ce62d46921e33d37"/><file name="Collection.php" hash="344cf87be807bf3d3824af6aca2bb9e3"/><file name="Error.php" hash="403f98d2d9612549c6f6258fa10a8d17"/><file name="Notice.php" hash="5d9e6c832be4e1bef81ad8081f75bc43"/><file name="Success.php" hash="66438b0c9cff77eb73ff5ff315df52f4"/><file name="Warning.php" hash="aafb26c475337e687ff1dfeb005edcaa"/></dir><file name="Message.php" hash="85d7966c908e150ac1e8fc41244f245a"/><dir name="Mysql4"><file name="Abstract.php" hash="44d0b31e3085e15ca2b3b0f9d0be2c5c"/><file name="Cache.php" hash="535e51f36277a7df2d30b9d2d6601b3c"/><dir name="Collection"><file name="Abstract.php" hash="4a98bfc00bea6a5da2fc5bf3609e6433"/></dir><dir name="Config"><dir name="Data"><file name="Collection.php" hash="4ef79294f6f55c6c2722abfb7ed34706"/></dir><file name="Data.php" hash="f53c79280bc295051fa7b3860cfea9ae"/></dir><file name="Config.php" hash="a42970610f64863e0097a58b9e6cc23b"/><dir name="Design"><file name="Collection.php" hash="743cd2d296bb161ecc98616e57a05d12"/><dir name="Package"><file name="Collection.php" hash="b0e13eba451dcbc84e59b3c1ba879b23"/></dir><dir name="Theme"><file name="Collection.php" hash="d15267e5e6c26e9e59a9c4be4735986e"/></dir></dir><file name="Design.php" hash="eda39942885b6a2679aa1ef3f41ea025"/><dir name="Email"><dir name="Template"><file name="Collection.php" hash="4f591b6e7817ed5fe9a06d1bbf77acf6"/></dir><file name="Template.php" hash="3ff3b156f0cc0cb243a1b09b74673339"/></dir><dir name="File"><dir name="Storage"><file name="Abstract.php" hash="3922d04eb1e885ba9ee02df7cc9a6408"/><file name="Database.php" hash="c60d8d1728e449fac71590330def8f94"/><dir name="Directory"><file name="Database.php" hash="4ce089a2e5594faf2a7cb6ea88944dd1"/></dir><file name="File.php" hash="2072a576162d3e7d4b2d17dfff5c647f"/></dir></dir><file name="Flag.php" hash="a0a11d34b0b0e100b96fc11c9c975a1f"/><dir name="Language"><file name="Collection.php" hash="58144f7d71289903e929638fc4fc5f1d"/></dir><file name="Language.php" hash="aced85d1d84667357d79ebb0fb8bc3b8"/><file name="Layout.php" hash="57bc0dbe1d31bb305e4660759025901b"/><file name="Resource.php" hash="c408f0d94d0cf7c85b60b281665c7444"/><file name="Session.php" hash="2a829f916eb8f50f7a63b670ca399bf2"/><dir name="Store"><file name="Collection.php" hash="ee4457bf62e4b2e3e7614558cf2f0cb7"/><dir name="Group"><file name="Collection.php" hash="e78c87707665daf3261d0e61aa003175"/></dir><file name="Group.php" hash="2f704ed0988128cc94aa579c23b40195"/></dir><file name="Store.php" hash="b9ec990140144ae2b4ff4b1b4357a276"/><dir name="Translate"><file name="String.php" hash="2550beff52f20647c9070a521b177d81"/></dir><file name="Translate.php" hash="2bae6bc9d6d6f9b54d1e74e3ef541620"/><dir name="Url"><dir name="Rewrite"><file name="Collection.php" hash="618b2b7ac1893631af1c96381be8d6e2"/></dir><file name="Rewrite.php" hash="f0847e55d9ab40a714791c1866102915"/></dir><dir name="Variable"><file name="Collection.php" hash="8c6cf80f822398f16ddcb1f700e5b97a"/></dir><file name="Variable.php" hash="e3412c25b10a5e79c59e90f7fe817ce3"/><dir name="Website"><file name="Collection.php" hash="34999e0a76945a915346632845961062"/></dir><file name="Website.php" hash="a6457ca65b822869a2c42abab954ba12"/></dir><file name="Observer.php" hash="7a1f30833ecd016885791a9df66ba83e"/><dir name="Resource"><file name="Abstract.php" hash="694793a99cc08f415b84aa6f87d3b080"/><file name="Cache.php" hash="d421e47284b76a6d0034a55954354601"/><dir name="Config"><dir name="Data"><file name="Collection.php" hash="aa72268f5dcd2cb27a2e9583bd9a7b97"/></dir><file name="Data.php" hash="6f5b1ffa861eb1a771b650e55393b8d2"/></dir><file name="Config.php" hash="b609a605366bda0d9b77fb0b4da8f680"/><dir name="Db"><file name="Abstract.php" hash="2aa23ed3e3cfbb4f1ee504b1b080dc93"/><dir name="Collection"><file name="Abstract.php" hash="856ffddfc4b7eef7e653fc9f4ed1cc12"/></dir></dir><dir name="Design"><file name="Collection.php" hash="9eda836bfcfc20bd10d992cff0f42dee"/><dir name="Package"><file name="Collection.php" hash="71080e12d259608667ca14694fc06786"/></dir></dir><file name="Design.php" hash="ab67c437c1fb6b21e174271b5eea4795"/><dir name="Email"><dir name="Queue"><file name="Collection.php" hash="dc99090438f9d3da4eafdd6289b0e593"/></dir><file name="Queue.php" hash="e6ff94522082f76abd83abeede4350c4"/><dir name="Template"><file name="Collection.php" hash="74ff7fee4831faeabb215e745ea2c5d5"/></dir><file name="Template.php" hash="e24b6c1aa4117729b9e1fef8ce470df1"/></dir><dir name="Entity"><file name="Abstract.php" hash="fbab338c7741fac0f55ee32753eabb31"/><file name="Table.php" hash="82ccdee4411353933aa056b40219c66a"/></dir><dir name="File"><dir name="Storage"><file name="Abstract.php" hash="63f9930772d7d6218a97eba4ef2e51e5"/><file name="Database.php" hash="9f8d3d2ae031cf910550022e48e04f24"/><dir name="Directory"><file name="Database.php" hash="7fd49ee18d156fc2cb5322497f066d8e"/></dir><file name="File.php" hash="db44e3c71d0a7ed03a1f98772fee81a1"/></dir></dir><file name="Flag.php" hash="fd7d58c0720668e089e1721675309e11"/><dir name="Helper"><file name="Abstract.php" hash="7f7d5923b0d30b78b5bb09101c6fa45d"/><file name="Mysql4.php" hash="9b7abcaf9407b0cfd54878aac2dc4a71"/></dir><file name="Iterator.php" hash="87812d0f3cc7c2aa3ad880845a9d81cb"/><dir name="Language"><file name="Collection.php" hash="a94b4d950521edf293306f2ce3d1f2e3"/></dir><file name="Language.php" hash="1a8abe38849f32cf206d94908d0bb157"/><file name="Layout.php" hash="eceec3e6ab5a55a7cdbcc9ed830cd9d8"/><file name="Resource.php" hash="5dd772aa7bd15d23902ec45c73a6e757"/><file name="Session.php" hash="f6113f0ded8c6c1ac47a3d3ea30a5d05"/><dir name="Setup"><dir name="Query"><file name="Modifier.php" hash="441f79117cff4d7d6bc7e1bf3af0534d"/></dir></dir><file name="Setup.php" hash="af2e8140844cf09135c7270cb6cc57b6"/><dir name="Store"><file name="Collection.php" hash="77e38160ee990c0ef701635da0727f27"/><dir name="Group"><file name="Collection.php" hash="69ef898295bf51476f85350909a30dbb"/></dir><file name="Group.php" hash="aadd4f4301afaa93d49cb98cd6a31a27"/></dir><file name="Store.php" hash="8deab7031d5538151a02b5a7b27b4de1"/><file name="Transaction.php" hash="304008e754044346662a2763add16495"/><dir name="Translate"><file name="String.php" hash="14389d4db4ba5795ccfbe923b876fd7d"/></dir><file name="Translate.php" hash="6717d307f1747093eaea31225aa18935"/><dir name="Type"><file name="Abstract.php" hash="688b26e10a67f4484131cdf9de51557b"/><dir name="Db"><dir name="Mysqli"><file name="Setup.php" hash="8a5f3235eb45f511db2b0e14ca7bac3d"/></dir><file name="Mysqli.php" hash="6459b80b973a0944cba2619a173aa895"/><dir name="Pdo"><file name="Mysql.php" hash="747a0822bd08cb3f0b2d1526c6dfeccf"/></dir></dir><file name="Db.php" hash="b8eb52fe758a85e093f2e7694d8663ca"/></dir><dir name="Url"><dir name="Rewrite"><file name="Collection.php" hash="683f36f30c844c054f01be8ff310230e"/></dir><file name="Rewrite.php" hash="fecead19766cf14766a558ea79f5a67d"/></dir><dir name="Variable"><file name="Collection.php" hash="5bc6509f458ccad5ff27fc03f35aa9d4"/></dir><file name="Variable.php" hash="75b3c3b20e1bfd1a0f4017b7e64ec1ce"/><dir name="Website"><file name="Collection.php" hash="1c353c8ed5e653bf799a81896da8a645"/></dir><file name="Website.php" hash="e385a6d19f6d87c1e8c0ac0e31dbf471"/></dir><file name="Resource.php" hash="a97d261d1638b03f3a19ba7947c0f03e"/><dir name="Session"><dir name="Abstract"><file name="Varien.php" hash="19260a0b1483c335437a1b83fbecbde4"/><file name="Zend.php" hash="48602c6c721a1419a16291602bbc6e6b"/></dir><file name="Abstract.php" hash="0fd88d73bd06001281b3f4cd3185f855"/><file name="Exception.php" hash="1419325851e05e56085a80360993ec7a"/></dir><file name="Session.php" hash="e2c1d6077d37b1fd5a648b1f7835c3e7"/><dir name="Source"><dir name="Email"><file name="Variables.php" hash="2d6e88ba25d3321a5af0d7fde74569c3"/></dir></dir><dir name="Store"><dir name="Api"><file name="V2.php" hash="23fce9936bfde4eddf3bc042da49c704"/></dir><file name="Api.php" hash="e26d51518a7bcd09ed5da2fac58b1b4f"/><file name="Exception.php" hash="59d2bd50b218ccf5f217e8f4f87db294"/><file name="Group.php" hash="685ea0a277d23ec5e17d44728deef16a"/><file name="Observer.php" hash="beed858da489fece24868586ae67624b"/></dir><file name="Store.php" hash="f895e6a4d4fc82542c471c2c276ff215"/><file name="Template.php" hash="e78ec82cbb982ce5e06e6937e8616ae0"/><dir name="Translate"><file name="Expr.php" hash="5e7825d1ad5d680fae8d2cb2e3e56a3f"/><file name="Inline.php" hash="c46e75758767785fcbf90429f3b27f7c"/><file name="String.php" hash="ff5d4c7d438f42a96481bcf50dcfe726"/></dir><file name="Translate.php" hash="40815cb1b455d9b11ee7bc5b209f7883"/><dir name="Url"><dir name="Rewrite"><file name="Interface.php" hash="9c5c19dbddac570166efa99fe23636eb"/><file name="Request.php" hash="1d981ff6255931373ab21012ef728a43"/></dir><file name="Rewrite.php" hash="65284f3fd21eab368bb60e9fcef41980"/><file name="Validator.php" hash="c701ffe374838bcc86a02daeb531716c"/></dir><file name="Url.php" hash="8d74e01ecc551a7fb4170fce4aab07d2"/><dir name="Variable"><file name="Config.php" hash="2e89c7e08f594c235ee7c54d9d8ecd04"/><file name="Observer.php" hash="abeffe7406776babb339ff8530c97bcb"/></dir><file name="Variable.php" hash="6b550791573110761a25dd7a014bd0ea"/><file name="Website.php" hash="159a68fc3084c56aa44b77214f6d22be"/></dir><dir name="controllers"><file name="AjaxController.php" hash="0fdf2d77ca172a26f52a058d9f4a7744"/><file name="IndexController.php" hash="bf938059a97c970206756db4f00c9584"/></dir><dir name="etc"><file name="api.xml" hash="6bbb100de305337ddec14d20e0cfdf70"/><file name="config.xml" hash="21bdbe591bc2a77e460fdfecfc12ffca"/><file name="jstranslator.xml" hash="75e1f15bd4333b43b2b4ed1f8e8d5584"/><file name="system.xml" hash="dfb91fb13c9b137c2d2314b6416f26eb"/><file name="wsdl.xml" hash="79501d6ccf39846b5dd551e85880dcb8"/><file name="wsi.xml" hash="31fa195d527181c946019bcd44d819d6"/></dir><file name="functions.php" hash="e720e89444d851040333f1cd71fc72f5"/><dir name="sql"><dir name="core_setup"><file name="install-1.6.0.0.php" hash="c69f3177bd988dcf47af832d0f30d867"/><file name="mysql4-data-upgrade-1.6.0.2-1.6.0.3.php" hash="fb24c3e570816db655406d337f606568"/><file name="mysql4-install-0.7.0.php" hash="d7fd9846b6460fc316c7e16c6728dedc"/><file name="mysql4-install-0.8.0.php" hash="cdee3cc30f18e8867a1a2804cdd84d03"/><file name="mysql4-upgrade-0.6.26-0.7.0.php" hash="345976f0456345f682763fac7316cc55"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="32fefbbffd4cecd44bb883383cfd9371"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="66ebb46fb35c1af148779933ef65fca8"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="c5412377ad835880e87f4732a3b6714a"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="0c21a8b350aeef94116668aca96d4ded"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="9e245ebd96215aae487df642a4244006"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="67525f1672117b14999c40df9b4ffe44"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="8aa20d72ba29c2c4c036a74f5da81354"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="60cfbe9a16cea4084149fbb60aadfe33"/><file name="mysql4-upgrade-0.8.0-0.8.1.php" hash="4b5bfe8f064af5094380fd0c6f4230b8"/><file name="mysql4-upgrade-0.8.1-0.8.2.php" hash="5e889e1e36552f97c6b47ccacc037878"/><file name="mysql4-upgrade-0.8.10-0.8.11.php" hash="e7b405393ee923ce77b4fc73fe2c49e5"/><file name="mysql4-upgrade-0.8.11-0.8.12.php" hash="e5177617bf9ff7cad413ebadbaa36c2e"/><file name="mysql4-upgrade-0.8.12-0.8.13.php" hash="58d94dcd86435d9a9678110d7380e9e6"/><file name="mysql4-upgrade-0.8.13-0.8.14.php" hash="4ef7145c13ab85b257e149ee4ce42aae"/><file name="mysql4-upgrade-0.8.14-0.8.15.php" hash="11462279aad7a312d138871c1232bc4c"/><file name="mysql4-upgrade-0.8.15-0.8.16.php" hash="b68084f2461e13da31d10ffb69b6c427"/><file name="mysql4-upgrade-0.8.16-0.8.17.php" hash="cc5a96f1ec35576e5cc04d2f3c8fcdbe"/><file name="mysql4-upgrade-0.8.17-0.8.18.php" hash="a049195d8b49c8fac0b422b55444f072"/><file name="mysql4-upgrade-0.8.18-0.8.19.php" hash="5c1e0d78fe374bc179fac4e0a201024c"/><file name="mysql4-upgrade-0.8.19-0.8.20.php" hash="57188799f2c9aa98b2db3e9cc88f57ca"/><file name="mysql4-upgrade-0.8.2-0.8.3.php" hash="5c4c948191730c5aaa46a9c0a4d529af"/><file name="mysql4-upgrade-0.8.20-0.8.21.php" hash="26306dc6458b0403f1a05bc92447af40"/><file name="mysql4-upgrade-0.8.21-0.8.22.php" hash="1375cdd7860773ed2f80282af9986008"/><file name="mysql4-upgrade-0.8.22-0.8.23.php" hash="96d94946d3d1d8471ff619228407cb7a"/><file name="mysql4-upgrade-0.8.23-0.8.24.php" hash="219d2459c587c5e8a81290c56154e0d6"/><file name="mysql4-upgrade-0.8.24-0.8.25.php" hash="6f1f9c00a382d22bcc220e1b9f3c8905"/><file name="mysql4-upgrade-0.8.25-0.8.26.php" hash="4558c5a6d9be1ca611ac9ca058e4edfb"/><file name="mysql4-upgrade-0.8.26-0.8.27.php" hash="65e15fa502932b633a0c8c828a6334bf"/><file name="mysql4-upgrade-0.8.27-0.8.28.php" hash="19590c1ee41148edfc36fc72965e402b"/><file name="mysql4-upgrade-0.8.3-0.8.4.php" hash="3cc627e59b0ceb3b3016e328c88b829e"/><file name="mysql4-upgrade-0.8.4-0.8.5.php" hash="5a829783619299f2538700da0ae1e123"/><file name="mysql4-upgrade-0.8.5-0.8.6.php" hash="3e314226e8fbaa3bcaf1694faefd8809"/><file name="mysql4-upgrade-0.8.6-0.8.7.php" hash="c2344bc955f3fb823c2926310209c25e"/><file name="mysql4-upgrade-0.8.7-0.8.8.php" hash="9b86798fe5b7fe0cb5cc595874b07501"/><file name="mysql4-upgrade-0.8.8-0.8.9.php" hash="d2bbc20b4f415a188d706abd0f67bb0d"/><file name="mysql4-upgrade-0.8.9-0.8.10.php" hash="6255b0401694107d9c3c67d0a7cb4a6f"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="91433f5df703361ded3d282200923d2d"/><file name="upgrade-1.6.0.1-1.6.0.2.php" hash="dba0fecbc83001d5c62b114522103050"/><file name="upgrade-1.6.0.2-1.6.0.3.php" hash="e043db02bb9983863f06f46dac0b78c2"/><file name="upgrade-1.6.0.3-1.6.0.4.php" hash="1be7d02e33df1abe18f3df4d76063329"/><file name="upgrade-1.6.0.5-1.6.0.6.php" hash="eb7b611019f69996f4963183636b6094"/></dir></dir></dir><dir name="Cron"><file name="Exception.php" hash="7ad70a581e997407204ecec98768cdd5"/><dir name="Helper"><file name="Data.php" hash="a977275822fc9e8de01235a624ba7cc4"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Schedule"><file name="Collection.php" hash="62f2dd629591cebffd75273bdea7c5b7"/></dir><file name="Schedule.php" hash="6ac83aed52b6ae3256a9906a4370a66c"/></dir><file name="Observer.php" hash="3a61f2a4165aadd074686fc4dd6bfeea"/><dir name="Resource"><dir name="Schedule"><file name="Collection.php" hash="a8f6dddabd1265fb4743245ced01230b"/></dir><file name="Schedule.php" hash="33fc20836d2171d9949b73cc50e2d105"/></dir><file name="Schedule.php" hash="97c2856ad13132d2abbb4ad4937dae60"/></dir><dir name="etc"><file name="config.xml" hash="8ea948903301aed5a1117e1ec2b52b7d"/><file name="system.xml" hash="bc4190c5898ffc674bf7ae552b14cc7e"/></dir><dir name="sql"><dir name="cron_setup"><file name="install-1.6.0.0.php" hash="4ac9e29af105f14c9ea6e0565eb21dce"/><file name="mysql4-install-0.7.0.php" hash="3ba830a77c1d985f7a83fe0e008475e9"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="4d5d452d004acae9c2ace046afe0ad92"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="9008bddeb8e836fbb26f0c20aab65fdf"/></dir></dir></dir><dir name="CurrencySymbol"><dir name="Block"><dir name="Adminhtml"><dir name="System"><file name="Currencysymbol.php" hash="f47a77be4420bffac85f7d872e89f102"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="147a5a7af07ed0831da300c3f100c20e"/></dir><dir name="Model"><file name="Observer.php" hash="c6a9f862b406983ac0c3b4667998338b"/><dir name="System"><file name="Currencysymbol.php" hash="f43af0d9441283cb3583dfb25c9c72c2"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="System"><file name="CurrencysymbolController.php" hash="81843fabc7a4edeffb3c66a96f245111"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="d406b1181fcc035d9e66f0478c772053"/><file name="config.xml" hash="9b618f0e516ffa912d7d6ba9ec4f7e93"/></dir></dir><dir name="Customer"><dir name="Block"><dir name="Account"><file name="Changeforgotten.php" hash="fced334ff0b4c476c421e8eb61ab898c"/><dir name="Dashboard"><file name="Address.php" hash="08fc3da5ef87ce0f3d3b6a49c6d6b96d"/><file name="Block.php" hash="7ecc346998aa07b344b488a1f68bcf3a"/><file name="Hello.php" hash="1577a3b7e668fb5eba42d771cee2a4df"/><file name="Info.php" hash="a28109d8c9e53d8df9c112fc6456c618"/><file name="Newsletter.php" hash="81eaf17f4451110516d15c1e9060a6df"/><file name="Sidebar.php" hash="78f7c1ecea5c5d84ffc9265ec682112b"/></dir><file name="Dashboard.php" hash="4ea7dc3f67fb46c8de31ac6dde8702a2"/><file name="Forgotpassword.php" hash="0954e6e8365b6f1bed1c8b5cfdb711c0"/><file name="Navigation.php" hash="2bb91a3fca4c66259eab57b299240a30"/><file name="Resetpassword.php" hash="ed4565c138a3ddc81e64fe6dbc84bd0a"/></dir><file name="Account.php" hash="afe508a80c28e23a4ecb1c3c5544a6b0"/><dir name="Address"><file name="Book.php" hash="5729c1d41ac620d29fbd2b7720f64c51"/><file name="Edit.php" hash="3ffd80fd5dfe6540383e8072433c6965"/><dir name="Renderer"><file name="Default.php" hash="fc8079a31280cb3e17e4955f002e9732"/><file name="Interface.php" hash="d66b89c20dd7ea78138f1f959cc0b901"/></dir></dir><dir name="Form"><file name="Edit.php" hash="d53369b67258ffabea416ab39348ae00"/><file name="Login.php" hash="0198cb1a7280263217b6c028c679ce8f"/><file name="Register.php" hash="cc64439d56326d315840b6bf8d50e151"/></dir><file name="Newsletter.php" hash="a1c95a95a4498fc1544da8b9060e85be"/><dir name="Widget"><file name="Abstract.php" hash="9f8810def5e03f41ca7bfbc6d029538f"/><file name="Dob.php" hash="cccffffa3c36c6f37cf7db02dc5e7cc9"/><file name="Gender.php" hash="20a92e9abae465f22df00485388e7ec2"/><file name="Name.php" hash="44e46d85ffc1aadf9584aadefb9a623d"/><file name="Taxvat.php" hash="5b6a1aeb9ea9eabc7a2202464c56e0a5"/></dir></dir><file name="Exception.php" hash="334d5017aa3ad32335b631affbf8b194"/><dir name="Helper"><file name="Address.php" hash="2d3a7d87871f4c022b6f5f531cf1f8ea"/><file name="Data.php" hash="10513c8d44c1f203ac836573cff34b66"/></dir><dir name="Model"><dir name="Address"><file name="Abstract.php" hash="5d9dee72eb717beae28d1922c057a11b"/><dir name="Api"><file name="V2.php" hash="266ad678cd335ba60c1af1da19f22bf9"/></dir><file name="Api.php" hash="a03cc80ec147566fcff37dbf64faab06"/><file name="Config.php" hash="80d39631075023919039fd1c57ba6669"/></dir><file name="Address.php" hash="fdd7f0519a98d5b0254d3fec6f21665c"/><dir name="Api"><file name="Resource.php" hash="a3ca3939facf9676e07572b2e0e2b1b8"/></dir><dir name="Api2"><dir name="Customer"><dir name="Address"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="0c688ce090e3d27195058d7d498dbede"/></dir><dir name="Customer"><file name="V1.php" hash="5234f6e89921abb1805b252a2f191545"/></dir></dir><file name="Rest.php" hash="b8d40fa6226e0a1de076a2dea49e7d8b"/><file name="Validator.php" hash="57a2007eca992a01d27ee93844ef1c83"/></dir><file name="Address.php" hash="aaa3e23cf5369a422c7dc7f60fe988f0"/><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="5b2113835c16750e3496a5f5fb1f5ae3"/></dir><dir name="Customer"><file name="V1.php" hash="4405dc245188874865c837f9558b3082"/></dir></dir><file name="Rest.php" hash="5ed64554ea1364509e0cf89288c04208"/></dir><file name="Customer.php" hash="bb6e0e4c5c2d5bfc28516547e6e61b64"/></dir><dir name="Attribute"><dir name="Backend"><dir name="Data"><file name="Boolean.php" hash="4ac8df716d7f38367d6dbe49e72052e2"/></dir></dir><dir name="Data"><file name="Abstract.php" hash="1867ecd751e10de5d28f4acf3459b1eb"/><file name="Boolean.php" hash="58e453aa57b80ec5e9372436ebaca1d6"/><file name="Date.php" hash="8452492f198664592e3e7a86aae0d9ef"/><file name="File.php" hash="d28febe339b50dbddaab12ca9b8cca4e"/><file name="Hidden.php" hash="6d33bce9cf131d228af61789be63cef0"/><file name="Image.php" hash="fdc9ced5bcab3f489d4d23db1c145c81"/><file name="Multiline.php" hash="475699822544385ca3dcc69e76fa13ba"/><file name="Multiselect.php" hash="cdc75f0b1ab1ce27dadb82349be079b6"/><file name="Postcode.php" hash="6a5bf54cf10fc54829effc31a63a72a2"/><file name="Select.php" hash="4d3809b46c33a1db0853ff6094d0e834"/><file name="Text.php" hash="fc8c36ddfdf5332a5d992b17a816c318"/><file name="Textarea.php" hash="fcd0ca5818876ddb39402575783eeebf"/></dir><file name="Data.php" hash="be5db892203623727253be6c7b993b88"/></dir><file name="Attribute.php" hash="4c616f072194b568dfa6dbcf2c9a28cd"/><dir name="Config"><file name="Share.php" hash="48d6a459edd906fa4433a8c7eb18bb53"/></dir><dir name="Convert"><dir name="Adapter"><file name="Customer.php" hash="d2eae522d3ca91753fbc3e29ddc1299f"/></dir><dir name="Parser"><file name="Customer.php" hash="beae99d9a77e453b1190adfec0750a3d"/></dir></dir><dir name="Customer"><dir name="Api"><file name="V2.php" hash="aa2436ca33afdaae7bdf096fc511b942"/></dir><file name="Api.php" hash="19f6a519c966b04198379abe62639baf"/><dir name="Attribute"><dir name="Backend"><file name="Billing.php" hash="faa9c2539bbf7b7a74b943d00caa708c"/><file name="Password.php" hash="d0393528b65c863a25de9175c9cf0784"/><file name="Shipping.php" hash="b68a9d6f1736be20b4ed6a21a6d0b49a"/><file name="Store.php" hash="2e69bab09b526a69a49a83b3c0cce498"/><file name="Website.php" hash="4334601d447e0fda794cec9dce34da7e"/></dir><dir name="Source"><file name="Group.php" hash="98360127300b5e9809144987e61a0264"/><file name="Store.php" hash="4abe85c31478e7fa194d4c2c98fc66a7"/><file name="Website.php" hash="2618b2a43a90336eec9ca4e84e20c2a5"/></dir></dir></dir><file name="Customer.php" hash="415ef1ba5874495e1af03ce6532157b1"/><dir name="Entity"><dir name="Address"><dir name="Attribute"><dir name="Backend"><file name="Region.php" hash="1e8b5f5d46a5ad344f18f856dbc86a53"/><file name="Street.php" hash="f3eb2077afa392b82939a7d33058ad81"/></dir><file name="Collection.php" hash="d3ec4db3da89f9371c49196ff87d9cab"/><dir name="Source"><file name="Country.php" hash="ac1d2569e723fd3324242a1ab4c05849"/><file name="Region.php" hash="e4e8342efe2fd0b38294f3788e1bcbbc"/></dir></dir><file name="Collection.php" hash="05ddc8ad4046b66ef051b52d44fdd1e6"/></dir><file name="Address.php" hash="9ca25098a2ce67cc50d1f0c0bf492f32"/><dir name="Attribute"><file name="Collection.php" hash="b1bb2d740a7c345c0c46ecafa70167bd"/></dir><file name="Attribute.php" hash="e1b8d57fa9b3d802ac0ad6ff895b98b0"/><dir name="Customer"><file name="Collection.php" hash="c23343549f1e667660861a73fbe3dc19"/></dir><file name="Customer.php" hash="9cd6abf273d7d3699ee02f49569d327e"/><dir name="Form"><dir name="Attribute"><file name="Collection.php" hash="ef67e77017f7db0946f21874e3ebc711"/></dir><file name="Attribute.php" hash="618a8aff4746774c556906e2dbb56dc0"/></dir><dir name="Group"><file name="Collection.php" hash="e06ab66c1fc6b016a8cdc6e39fee5ab0"/></dir><file name="Group.php" hash="45fb0fbbe8e357fe6f26ae1cbf31b77f"/><file name="Setup.php" hash="33c38b117ba9aa195bb79504b56ae25c"/><dir name="Wishlist"><file name="Collection.php" hash="354fb025a63f5b3026f690cb4442ab9b"/></dir></dir><file name="Flowpassword.php" hash="aee79bea3f86395824b27d7d6ca93f50"/><file name="Form.php" hash="d5f1aa9224be4aa721771b8fb65e7abf"/><dir name="Group"><dir name="Api"><file name="V2.php" hash="5bdbdfeb06ce9a196eb712fefc9c402b"/></dir><file name="Api.php" hash="6d92e16c176002b84361ac07832bffb6"/></dir><file name="Group.php" hash="7cc8f0dd768aba328ee3564cbfecaf31"/><file name="Observer.php" hash="9758d692c88270f13c25e555ce4346c0"/><dir name="Resource"><dir name="Address"><dir name="Attribute"><dir name="Backend"><file name="Region.php" hash="0d9f0d30f70655765bed01b63d96d9b6"/><file name="Street.php" hash="04a83b26c53aa80ab01c1aafbb796ea1"/></dir><file name="Collection.php" hash="637774f2478002e6ee054df43bcc379b"/><dir name="Source"><file name="Country.php" hash="71a2b37a1748851c0035f809e0bdfe89"/><file name="Region.php" hash="844de0dca956ee491723b7902228fb04"/></dir></dir><file name="Collection.php" hash="36dce3f02858cf7a208cb5e1725aa97e"/></dir><file name="Address.php" hash="9903c920d224421684fb7bd93a7781a5"/><dir name="Attribute"><file name="Collection.php" hash="db7bbf94e78302488fde013cfacd9e98"/></dir><file name="Attribute.php" hash="eb31a55d0a28cffe6bc03e05df1ed514"/><dir name="Customer"><file name="Collection.php" hash="5c3207823fed1f27990d26cf0f8f3d2c"/></dir><file name="Customer.php" hash="78f73dd318200e4c5a07a766d63b7c68"/><dir name="Flowpassword"><file name="Collection.php" hash="ba8c62785415537ac758c04cf37289e7"/></dir><file name="Flowpassword.php" hash="337364917b9f7e2193d08b0518a7b4ad"/><dir name="Form"><dir name="Attribute"><file name="Collection.php" hash="d62fab14dc76f758829cef6a810df9d8"/></dir><file name="Attribute.php" hash="d7a7296e899066d4fc01b6f2a56f4db8"/></dir><dir name="Group"><file name="Collection.php" hash="5afd75ae771a976b601f81dafbbcec87"/></dir><file name="Group.php" hash="b7a915449ed7749c86b0ad1ce6ff0585"/><file name="Setup.php" hash="e9702ba3b32f695e2a2d99b31448ce85"/><dir name="Wishlist"><file name="Collection.php" hash="5a0c9faad27c135369581b4c329b3843"/></dir></dir><file name="Session.php" hash="49a0f51d836465a95c0d1879519ad6b1"/></dir><dir name="controllers"><file name="AccountController.php" hash="a040da959746ebea9bd0eaae566f9ce8"/><file name="AddressController.php" hash="7aad194cd62fe564653be015222e0081"/><file name="ReviewController.php" hash="508c3a4932ad2b216fc78ff8a701d6f5"/></dir><dir name="data"><dir name="customer_setup"><file name="data-upgrade-1.6.2.0.2-1.6.2.0.3.php" hash="2bc893a5f3d9baf672cf84e8c913567c"/><file name="data-upgrade-1.6.2.0.4-1.6.2.0.5.php" hash="d244bf5a02f26e562324a548a2fbcca5"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="50849c1982934971d289b35dc3ecd0a4"/><file name="api.xml" hash="3ea62419ec25f6ad40d443166c628740"/><file name="api2.xml" hash="47711ce85c8d796ed91d265c6d460469"/><file name="config.xml" hash="134f43d37be148cada304bcb116b84e5"/><file name="system.xml" hash="1e1e4f8aea51ef3c6e6b6171ce76db40"/><file name="wsdl.xml" hash="b31ebf1de4a58469781b383f455991f5"/><file name="wsi.xml" hash="4c81aee30c525677be5c38e078b98408"/></dir><dir name="sql"><dir name="customer_setup"><file name="install-1.6.0.0.php" hash="c6722d28dacef27ab29b643f758ef193"/><file name="mysql4-data-upgrade-1.4.0.0.11-1.4.0.0.12.php" hash="ef5abe9941b9b1a0c895f5fa2b1f0aea"/><file name="mysql4-data-upgrade-1.4.0.0.13-1.4.0.0.14.php" hash="d44a1e3efa2cd3fc388c207917821570"/><file name="mysql4-data-upgrade-1.4.0.0.7-1.4.0.0.8.php" hash="2c91627628c1339f5cebf10890a38f2d"/><file name="mysql4-data-upgrade-1.4.0.0.8-1.4.0.0.9.php" hash="e49b632aca5e28a67293c325126a0409"/><file name="mysql4-install-0.7.0.php" hash="d8dcd4d5094da2f12e692ece42d88127"/><file name="mysql4-install-0.8.0.php" hash="0d3fbb7ed5c62178e222485988d9e7b5"/><file name="mysql4-install-1.4.0.0.0.php" hash="138bdb5365d60a33117ac3478aa9f85f"/><file name="mysql4-upgrade-0.6.1-0.7.0.php" hash="7c1fd0262a63c8ff50b79e001083f7a1"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="363e9b57cd3696b36f431f085752b5d8"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="021c527478a0ff9af0baf7ec3df02f4e"/><file name="mysql4-upgrade-0.8.0-0.8.1.php" hash="2c8c202d1ec6e3c1ae311b7f8e9f3463"/><file name="mysql4-upgrade-0.8.10-0.8.11.php" hash="6f0b05e3e4874f5eaca3a05a8d60b896"/><file name="mysql4-upgrade-0.8.11-0.8.12.php" hash="4628af77d20620d7560e13a6bd669472"/><file name="mysql4-upgrade-0.8.12-1.4.0.0.0.php" hash="36c583e090c0a00072dc6f0bbc63f5ca"/><file name="mysql4-upgrade-0.8.4-0.8.5.php" hash="0e6780ab9ffb88582b6380835eae0995"/><file name="mysql4-upgrade-0.8.5-0.8.6.php" hash="54566539dc7db512ee378323de4bf19b"/><file name="mysql4-upgrade-0.8.6-0.8.7.php" hash="a88dc9d5df61e4f1c35ca05aac6ae861"/><file name="mysql4-upgrade-0.8.7-0.8.8.php" hash="65ba249ca2d34310acecaf58a90c730a"/><file name="mysql4-upgrade-0.8.8-0.8.9.php" hash="faf1b1cc527fded99a6daf08abeb7eb0"/><file name="mysql4-upgrade-0.8.9-0.8.10.php" hash="f4c7bda051fd88c4ddc9dfd2bd561e21"/><file name="mysql4-upgrade-1.4.0.0.0-1.4.0.0.1.php" hash="2c281af9f5d3c7d765e0e811c737ae95"/><file name="mysql4-upgrade-1.4.0.0.1-1.4.0.0.2.php" hash="034ba91d9726928771e871b07577b8fb"/><file name="mysql4-upgrade-1.4.0.0.10-1.4.0.0.11.php" hash="8d674f068cc86cb857728b8b6fb08622"/><file name="mysql4-upgrade-1.4.0.0.12-1.4.0.0.13.php" hash="61c185677d57da12a970d22ddb05f05a"/><file name="mysql4-upgrade-1.4.0.0.2-1.4.0.0.3.php" hash="04f55ef4393d258f5a55e0028a9931f3"/><file name="mysql4-upgrade-1.4.0.0.3-1.4.0.0.4.php" hash="e637abb3ec729c7d5a823cd7a4aff962"/><file name="mysql4-upgrade-1.4.0.0.5-1.4.0.0.6.php" hash="c42b6bd2019102e3131ea7f540c50b6d"/><file name="mysql4-upgrade-1.4.0.0.6-1.4.0.0.7.php" hash="2b9caa7eda59e0d4450dedbb36b87cd8"/><file name="mysql4-upgrade-1.4.0.0.7-1.4.0.0.8.php" hash="001e91ba0859756ba7048bae6b38cc1c"/><file name="mysql4-upgrade-1.4.0.0.8-1.4.0.0.9.php" hash="b8786ebb55d6c1e0fc128d0e4da6ab2a"/><file name="mysql4-upgrade-1.4.0.0.9-1.4.0.0.10.php" hash="0b1efc85ae90a8caaefa357e4255ea82"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="e8b9f39275e935992bb92394b8d88a6d"/><file name="mysql4-upgrade-1.6.0.0-1.6.1.0.php" hash="239edb6475a8d43322ee37e6c93430f2"/><file name="upgrade-1.6.1.0-1.6.2.0.php" hash="ff896a7214ac40c54417217d57f8ed0a"/><file name="upgrade-1.6.2.0-1.6.2.0.1.php" hash="b297335d55acecbde135d6df95779463"/><file name="upgrade-1.6.2.0.1-1.6.2.0.2.php" hash="480c316c173021f5b6a3969c732aedf9"/><file name="upgrade-1.6.2.0.3-1.6.2.0.4.php" hash="7c8a6b2ad86df5b8af8fc57bc67d0fe2"/><file name="upgrade-1.6.2.0.4-1.6.2.0.5.php" hash="b9c2b754feef606a2e64651c44820ace"/></dir></dir></dir><dir name="Dataflow"><dir name="Helper"><file name="Data.php" hash="6465cd672c3f3b789f0ce68fe56ca210"/></dir><dir name="Model"><dir name="Batch"><file name="Abstract.php" hash="a72b30a0f7f2dbd2355cc9ab7a065fc0"/><file name="Export.php" hash="2a347c5b937768e63d94a291f4c6ee8c"/><file name="Import.php" hash="8609cf6fe2ec5e47113bfd892475f99c"/><file name="Io.php" hash="3b4e1278ab16b6cfa9abff8507f46063"/></dir><file name="Batch.php" hash="4c44c87c6a834e0f58efd26fed42a2c8"/><dir name="Convert"><dir name="Action"><file name="Abstract.php" hash="2438ed004179ffa108a63d5e2f222236"/><file name="Interface.php" hash="733da76667237922d6d449a3b69ae435"/></dir><file name="Action.php" hash="6cfe1a8b8d52145278b58895236b52be"/><dir name="Adapter"><file name="Abstract.php" hash="58e1fdd534d4f3f76d8fe1d865b60f86"/><dir name="Db"><file name="Table.php" hash="53e10c1ac23116f8c6a6ddbde64a1f9e"/></dir><dir name="Http"><file name="Curl.php" hash="744b8a2b86864abfea92b71725fc8820"/></dir><file name="Http.php" hash="d1ea66edc722b8accd19b0adfbd7d11c"/><file name="Interface.php" hash="11052c6a192dd467f389fe7ac6b84e85"/><file name="Io.php" hash="8c0296ddbbee95bf24aae0bcb78eea80"/><file name="Soap.php" hash="ca3e6862b566aeb5581f4344f3d621f6"/><file name="Std.php" hash="2d58df33c9796d6b046bb20c966054f7"/><dir name="Zend"><file name="Cache.php" hash="fcd406583fd02b7c8be74cc7843e6b95"/><file name="Db.php" hash="a85645a65ced26200c5525f15b8119e0"/></dir></dir><dir name="Container"><file name="Abstract.php" hash="f1802b2e4c92ec8877317fb50111f2c3"/><file name="Collection.php" hash="38380862831c2305259d46abbf41aa43"/><file name="Generic.php" hash="739a1e2be58f1870eda3f31b834a1823"/><file name="Interface.php" hash="fef9bc1ba0f04e432cdff336660ffc20"/></dir><file name="Exception.php" hash="d2d901bbcbf10a28df208dcd1a1980a8"/><dir name="Iterator"><dir name="File"><file name="Csv.php" hash="043ee74f2fceaef1af9170ec825d70b5"/></dir><file name="Http.php" hash="4727281da701bcae4d2f46982db9c980"/><file name="Interface.php" hash="2e6f3b56123eb3cffbc19c548dcfdafe"/></dir><file name="Iterator.php" hash="3a915c5742dcf64bc1f2d91626b9b0ee"/><dir name="Mapper"><file name="Abstract.php" hash="a786dee51483da6557501bf1673fd5d4"/><file name="Column.php" hash="0d247eb378c928e90f80a496b0388730"/><file name="Interface.php" hash="4bbf145346856b2c9f282fa2825f424b"/></dir><dir name="Parser"><file name="Abstract.php" hash="ef292d2447ef56d86ed9534aae6b3fff"/><file name="Csv.php" hash="7ecf34f0a9cf2bf9438e84a49e68c890"/><file name="Interface.php" hash="dadb9f463b43f28640e4708a4d866a50"/><file name="Serialize.php" hash="60e5ce469511bca43d4a89254424e823"/><dir name="Xml"><file name="Excel.php" hash="8ff8502bbf1565b2b25dcc2ff090197c"/></dir></dir><dir name="Profile"><file name="Abstract.php" hash="20b74ec5332d569fc3afc25fd4376f12"/><file name="Collection.php" hash="588af8f423060628544b544013ce1b47"/><file name="Interface.php" hash="ec1304f19b742cbf5229890d2a8fc226"/></dir><file name="Profile.php" hash="8812c4fc43739ace2116ab49c5d47806"/><dir name="Validator"><file name="Abstract.php" hash="c6f104eff1b82659a4d36d4de5eb3891"/><file name="Column.php" hash="76ce0db2dfa4136b77398245390d13f0"/><file name="Dryrun.php" hash="2fa547ec5aecf1a736f9877b00f75848"/><file name="Interface.php" hash="ed4f54c6508ce31a19f449cf527132ae"/></dir></dir><file name="Convert.php" hash="1a118785cfee26e0249652922fb3fa6f"/><file name="Import.php" hash="c4125b22472e8edb07aaf55a499201ee"/><dir name="Mysql4"><dir name="Batch"><file name="Abstract.php" hash="3aa5d4c54262bfbf463b7b2e90e6a0ca"/><file name="Collection.php" hash="9ea3700a10c5e6e85006c9d63a45b4e8"/><file name="Export.php" hash="5df742225ff7f0cb3c2530248a345b28"/><file name="Import.php" hash="fe2b0f2f6fc0bddc67825793ad13afba"/></dir><file name="Batch.php" hash="3803aa35bc8f1772737d21f0d65f6e07"/><file name="Catalogold.php" hash="0e023972193f136cebfde36252fa2c4c"/><dir name="Import"><file name="Collection.php" hash="7722967ae22783fe92f27e55e90de1ff"/></dir><file name="Import.php" hash="eb5d31c548d4eddbf751b208da673050"/><dir name="Profile"><file name="Collection.php" hash="ab4e4ad47794284cba12a444d7f3f495"/><dir name="History"><file name="Collection.php" hash="ee4193e87158ffceee49a1449c7bca99"/></dir><file name="History.php" hash="964aa735b3fd1ba3a06632ca19d28eee"/></dir><file name="Profile.php" hash="94be3bfa9c5f1a175fc6ee5d60e5ee65"/><file name="Session.php" hash="f8795a0c5817f0809c11f19ea5df5cf4"/></dir><dir name="Profile"><file name="History.php" hash="755a5ed8dd4c1b25f237fb1598b82c7d"/></dir><file name="Profile.php" hash="0f50de57e9866953aed96146620ac59f"/><dir name="Resource"><dir name="Batch"><file name="Abstract.php" hash="11746a73dbf367baddc49c98ee4bcd04"/><file name="Collection.php" hash="82529698919888159989a4595e4bdba4"/><file name="Export.php" hash="f41c179fc4ee246cb750f7c8d43df57f"/><file name="Import.php" hash="a0fcb8df641d15a8dd39009544e19447"/></dir><file name="Batch.php" hash="fcc5b78df2ea986e82415fe9e8e246ec"/><dir name="Import"><file name="Collection.php" hash="65eafb61a50696e1f399cd3a2f01030f"/></dir><file name="Import.php" hash="35a2c1acb655ff0c76c330114462fd25"/><dir name="Profile"><file name="Collection.php" hash="baca3a6c70f7ae2717341a6742db7782"/><dir name="History"><file name="Collection.php" hash="f689357486f341ee846696b278221fe3"/></dir><file name="History.php" hash="655b62bbe1d2eb9bbc4fbf34b1a272b2"/></dir><file name="Profile.php" hash="063582cabd6ad164def62f04205cb245"/><file name="Session.php" hash="773fef3cc64d0d4a9d2438125d2f6e6a"/></dir><dir name="Session"><dir name="Adapter"><file name="Http.php" hash="6f3b7442403f2d17c462d0f6ebc6486f"/></dir><dir name="Parser"><file name="Csv.php" hash="222ce10f61da341c9ca849bc2f8145d7"/></dir></dir><file name="Session.php" hash="dd3e356428c1f99f97906eb168dd5f33"/></dir><dir name="data"><dir name="dataflow_setup"><file name="data-install-1.6.0.0.php" hash="e071429f47116a98b169da9819c35640"/></dir></dir><dir name="etc"><file name="config.xml" hash="2e118dec7181a8e54eecd6476d20b1cd"/></dir><dir name="sql"><dir name="dataflow_setup"><file name="install-1.6.0.0.php" hash="16396d55ee8be825295fe63d5d89df7b"/><file name="mysql4-install-0.7.0.php" hash="1a3e64911829e084e4523ed8e02ed41f"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="6b7fb755e32fbdb7b0a8b8e2d07a8ea2"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="c38208cf5ed155921e0294d9149afa27"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="b51f71e9fd234db0af7ff97c442af60e"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="e3d3aaa974b011cb94c2ad7a5e026cdc"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="6d8690664c883cd6be731ebc8bce9894"/></dir></dir></dir><dir name="Directory"><dir name="Block"><dir name="Adminhtml"><dir name="Frontend"><dir name="Currency"><file name="Base.php" hash="3df3b6aaceeac2d31ceb35688be211cb"/></dir><dir name="Region"><file name="Updater.php" hash="fa6d4e9f133a8477fb646dae7aa7e4c8"/></dir></dir></dir><file name="Currency.php" hash="1410e677f27c3583f211be2d85a2149b"/><file name="Data.php" hash="c909b4874ea35549661d47ee2c1d921f"/></dir><file name="Exception.php" hash="453781dee8161d7b895ba3b1b0899ed3"/><dir name="Helper"><file name="Data.php" hash="aa37d979e53ded8d6ed9d432e6def025"/><file name="Url.php" hash="9e2d3271ce5db109658ee9f773db2fe0"/></dir><dir name="Model"><dir name="Country"><dir name="Api"><file name="V2.php" hash="afc6233ae08cfd5f08f8af38dfadad2a"/></dir><file name="Api.php" hash="c9307a174e99bb73fd7721d0cc15d628"/><file name="Format.php" hash="549856f02db55e157ce7cc937dd5795c"/></dir><file name="Country.php" hash="f47612b251ae4076df80ba085b1a00be"/><dir name="Currency"><file name="Filter.php" hash="3e3723b4af1bb35a6742a5ef2c019cd1"/><dir name="Import"><file name="Abstract.php" hash="3a1c5f29cca4389e86d6cebbe4f7be52"/><file name="Webservicex.php" hash="dea261da8bc1c2ddb0f00813a7d62754"/></dir></dir><file name="Currency.php" hash="f24df11a73ec1ac000d4ee91fe4cccf4"/><dir name="Mysql4"><dir name="Country"><file name="Collection.php" hash="490fcff8cc039c4a882d3e3b39ac0b3e"/><dir name="Format"><file name="Collection.php" hash="0f58e5a9fa3243c66db014d768a98da0"/></dir><file name="Format.php" hash="1b5b0f7deb5ec7a20a428d3c9a51cec5"/></dir><file name="Country.php" hash="23ff3d527006e79be8d941145374b004"/><dir name="Currency"><file name="Collection.php" hash="7418fb72c4b329862657fea893873e32"/></dir><file name="Currency.php" hash="8e9d26aad2bafd54bfab262341b89840"/><dir name="Region"><file name="Collection.php" hash="003d2e43eab9416cc832faaae38d445e"/></dir><file name="Region.php" hash="ac20fa937cd177b663e7acab340b7f4a"/></dir><file name="Observer.php" hash="66dfc096ba692f66d368654743204f2f"/><dir name="Region"><dir name="Api"><file name="V2.php" hash="da3f09a99c24d056d3461b600884f039"/></dir><file name="Api.php" hash="13196b7ad957235c9d4d80744baacc3d"/></dir><file name="Region.php" hash="5f11b838130796d0c106ef14e9a101ba"/><dir name="Resource"><dir name="Country"><file name="Collection.php" hash="ced5dce56f137888a778c307244eadf4"/><dir name="Format"><file name="Collection.php" hash="69cb0e29571bd557c535465669d45e66"/></dir><file name="Format.php" hash="801e9aeb9fcac19129e86aaf6c742bd2"/></dir><file name="Country.php" hash="d6826020474e1e50a9f7d616110c1eed"/><dir name="Currency"><file name="Collection.php" hash="4d6afb22b96acf37ac4f67a6326166b5"/></dir><file name="Currency.php" hash="24f10a37fe14475176ee98163b700344"/><dir name="Region"><file name="Collection.php" hash="57023acea67abf21b68492953657446c"/></dir><file name="Region.php" hash="bc8800af3d7e35e91fa90f2b553d9a91"/></dir></dir><dir name="controllers"><file name="CurrencyController.php" hash="35bb0925782ebd04e4943ab84951b0a3"/></dir><dir name="data"><dir name="directory_setup"><file name="data-install-1.6.0.0.php" hash="449178d272d3d195a1cbb6fc539a19d7"/><file name="data-upgrade-1.6.0.0-1.6.0.1.php" hash="8e186141736e15ee67ac6666545fed8d"/><file name="data-upgrade-1.6.0.2-1.6.0.3.php" hash="e0f4e5efad915f8bd637815adb08569a"/></dir></dir><dir name="etc"><file name="api.xml" hash="a8c3af31971871f3375af3bed83efb86"/><file name="config.xml" hash="74e76d5a9efb3fee78fc4c625c294ab6"/><file name="system.xml" hash="184976587366b082639fb50d529be1ee"/><file name="wsdl.xml" hash="cc488b81c0eae648a0ee360d6e2d9960"/><file name="wsi.xml" hash="66de37cc17e24c0c66f74c52e2df616e"/></dir><dir name="sql"><dir name="directory_setup"><file name="install-1.6.0.0.php" hash="96c305524970800bd33dbe4fde4fc024"/><file name="mysql4-install-0.7.0.php" hash="42cf2e07bdba83c4a27ef841f02cf584"/><file name="mysql4-install-0.8.0.php" hash="44a9bc17d349599c2f6ff1a4b2007846"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="0959ae732181c61075a30c10e25ef9d0"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="32c7d7431d0eb0edeae4ee12ee8e4330"/><file name="mysql4-upgrade-0.8.0-0.8.1.php" hash="4a159005aafdf056c758c1f2dab6b6e5"/><file name="mysql4-upgrade-0.8.1-0.8.2.php" hash="112a839147f190e708ac455635a889ea"/><file name="mysql4-upgrade-0.8.10-0.8.11.php" hash="4506726831a1d03b8207430506e602cd"/><file name="mysql4-upgrade-0.8.2-0.8.3.php" hash="f88e75dc363e65884f3c048e7ffc0923"/><file name="mysql4-upgrade-0.8.3-0.8.4.php" hash="20244a13eae58dcc96177cee74fccfbd"/><file name="mysql4-upgrade-0.8.4-0.8.5.php" hash="8bd7e20943ffcf758a319bc15e9c3d05"/><file name="mysql4-upgrade-0.8.5-0.8.6.php" hash="bfbf0cf011d06e1e92bd31462ebcce0a"/><file name="mysql4-upgrade-0.8.6-0.8.7.php" hash="e86faf4aaa60d3c6594e6a86f00dcb7d"/><file name="mysql4-upgrade-0.8.7-0.8.8.php" hash="5d20a16495474937945473bac9216f5b"/><file name="mysql4-upgrade-0.8.8-0.8.9.php" hash="c2e580ccc38df1b269b211a97b6631f8"/><file name="mysql4-upgrade-0.8.9-0.8.10.php" hash="449b434a82d218c5247b29abc82af315"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="ab1088a57c79f78a47f80873415e5804"/><file name="mysql4-upgrade-1.6.0.1-1.6.0.2.php" hash="990a1d52cb2fe443704da47a700b5237"/><file name="upgrade-1.6.0.1-1.6.0.2.php" hash="8882e2847161262a97651fe455d3cb09"/></dir></dir></dir><dir name="Downloadable"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><dir name="Composite"><dir name="Fieldset"><file name="Downloadable.php" hash="7358eefbe70ee183fff6b1a2704b89df"/></dir></dir><dir name="Edit"><dir name="Tab"><dir name="Downloadable"><file name="Links.php" hash="a9ce2e6282195240d0a02688817f4e9c"/><file name="Samples.php" hash="1c7b91bec2db896a3f314db755b58a24"/></dir><file name="Downloadable.php" hash="f8b9ba9f21da82fdc42aca57b2342440"/></dir></dir></dir></dir><dir name="Sales"><dir name="Items"><dir name="Column"><dir name="Downloadable"><file name="Name.php" hash="ac478179897d1c38ed89186f2b96c6d1"/></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><file name="Links.php" hash="6f12867079f0056e33188a1781b26ce2"/><file name="Samples.php" hash="584482a2e01386e3e5adcdfebe777bab"/><dir name="View"><file name="Type.php" hash="3f08ab2df3b23f5cd17db5552eba2c3d"/></dir></dir></dir><dir name="Checkout"><dir name="Cart"><dir name="Item"><file name="Renderer.php" hash="5ccfcdb46c34c9b9156755ac704c5a08"/></dir></dir><file name="Success.php" hash="99e840479f116e644a35d9d216159b4b"/></dir><dir name="Customer"><dir name="Products"><file name="List.php" hash="be90199170ef5e92035c539a27929df4"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Email"><dir name="Items"><file name="Downloadable.php" hash="4c877a4a2d8b36d09606d16d9aff6c4f"/><dir name="Order"><file name="Downloadable.php" hash="6d1f06f133472f790e0b00c1e9bdf37f"/></dir></dir></dir><dir name="Item"><dir name="Renderer"><file name="Downloadable.php" hash="f52357f0c231d6ff9741fdc6ff165ea6"/></dir></dir></dir></dir></dir><dir name="Helper"><dir name="Catalog"><dir name="Product"><file name="Configuration.php" hash="d7d2ffc5fcd3d53a4273289cdf6921b3"/></dir></dir><file name="Data.php" hash="07eb756ae74dfa62fd3bf51609d4d4a6"/><file name="Download.php" hash="3c298ba201ccc8d74bc52c2e49390af8"/><file name="File.php" hash="d38bd38baf4d6ac7028f9916c109027a"/></dir><dir name="Model"><dir name="CatalogIndex"><dir name="Data"><file name="Downloadable.php" hash="125f7269d544ba02f6655baa197f4473"/></dir></dir><dir name="Link"><dir name="Api"><file name="Uploader.php" hash="9746c685682eb407d254a2465886b4a3"/><file name="V2.php" hash="991ca71de9dda0bea63cc0cd33ef9daa"/><file name="Validator.php" hash="062a30a7333c11b09b71ee717a328731"/></dir><file name="Api.php" hash="9b300c79df89089057c7bdf443919b1e"/><dir name="Purchased"><file name="Item.php" hash="594d6579858a2b03be09fcae48e919c2"/></dir><file name="Purchased.php" hash="a4f94fc05023dca72a2a604892446c16"/></dir><file name="Link.php" hash="694fe1ab9a01117859c6d5eb125ad60e"/><dir name="Mysql4"><dir name="Indexer"><file name="Price.php" hash="8b811e5db6b18e60eff2b867aa535f2e"/></dir><dir name="Link"><file name="Collection.php" hash="60724c4412e2745d17770867f6136310"/><dir name="Purchased"><file name="Collection.php" hash="15568a7cf224010ec291774a3aa455d7"/><dir name="Item"><file name="Collection.php" hash="19e24646e835c28b1b48edea775b85fc"/></dir><file name="Item.php" hash="b2988c475c696f3d23346dd4ee4135f2"/></dir><file name="Purchased.php" hash="f4005b7a02cd00de35ae48f249373fca"/></dir><file name="Link.php" hash="ca2faf7ecebc50591c1bf629d75206a7"/><dir name="Sample"><file name="Collection.php" hash="2941b96e46a0d3371c4af2e3466c779f"/></dir><file name="Sample.php" hash="793b63049588a8f428f288fbfee5d383"/></dir><file name="Observer.php" hash="c2de9729f8c6eda48909ebed3700d321"/><dir name="Product"><file name="Price.php" hash="037cc3a2002e5a88fb7a058ce69d5b22"/><file name="Type.php" hash="62299715d7e4dc49cceb8e0fab2a3ef3"/></dir><dir name="Resource"><dir name="Indexer"><file name="Price.php" hash="7bcb28ca3896a121f3fb2822c097ad76"/></dir><dir name="Link"><file name="Collection.php" hash="1ac5104d02a0f70f31164c1daef776d3"/><dir name="Purchased"><file name="Collection.php" hash="75c749171a918e324c290fe466540cb1"/><dir name="Item"><file name="Collection.php" hash="439f6d97c98306cd8d5eb1ba41e73f3a"/></dir><file name="Item.php" hash="006ec93b3aed51e5f19c9919cb4ef97d"/></dir><file name="Purchased.php" hash="0441d43b422ec40025ef75acabdacb86"/></dir><file name="Link.php" hash="d05c0bd3eda5e6f29879afa45ac75c30"/><dir name="Sample"><file name="Collection.php" hash="a5bb7f15c1bde679a53a0ee8ed712b42"/></dir><file name="Sample.php" hash="91bf983e907eecbb76965a7c392b9020"/></dir><dir name="Sales"><dir name="Order"><dir name="Pdf"><dir name="Items"><file name="Abstract.php" hash="272c182a0a9898fceddebc88df8c1b05"/><file name="Creditmemo.php" hash="6490db251da913698d88f4197d6a09d5"/><file name="Invoice.php" hash="7ad07c0b6573103c7cea924be44579d5"/></dir></dir></dir></dir><file name="Sample.php" hash="a1edf7159521eb4b34a1b4031ba1c091"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Contentdisposition.php" hash="e722e6c4fee62f44ed6eeecaa501e38b"/><file name="Orderitemstatus.php" hash="b3d1a82bbb57611c7adda7e58783385c"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Downloadable"><file name="FileController.php" hash="e9308d58b8f4264a784b19151a76babb"/><dir name="Product"><file name="EditController.php" hash="0969a4037610b06894afa3b4cbbd7f56"/></dir></dir></dir><file name="CustomerController.php" hash="1ddd6baf02a69a69975de56e17a01940"/><file name="DownloadController.php" hash="83756594be03b31dbf6d23f569fe70ec"/><file name="FileController.php" hash="c8e35419fe8ba798b09e1e9cebdedc0a"/><dir name="Product"><file name="EditController.php" hash="70913c9ac3ada8a871d54c0a4f681746"/></dir></dir><dir name="data"><dir name="downloadable_setup"><file name="data-install-1.6.0.0.php" hash="b14b0b3975296dab7f22c9eb3a9a0b05"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="ae491bc8ec858cca1e75cb3e8c5f2b17"/><file name="api.xml" hash="bbe19285b70034f9d5e27f0fda6cb3ae"/><file name="config.xml" hash="b1854a9ecf6b790247072bf98573fbe0"/><file name="system.xml" hash="c4960eb43b0313ec2f48cc2f3565d3c2"/><file name="wsdl.xml" hash="b3935ff3bf7e2ca40ddd304b4c78577f"/><file name="wsi.xml" hash="7eef36b29c2abf88596e63b6a042626d"/></dir><dir name="sql"><dir name="downloadable_setup"><file name="install-1.6.0.0.php" hash="beb734081bb4155a9cb7f553e69b594c"/><file name="mysql4-install-0.1.0.php" hash="7ce2cf98b69fbfba519760dc52e80459"/><file name="mysql4-install-1.4.0.0.php" hash="23dc8c45995c1e29783cd4cb2a9b45d7"/><file name="mysql4-upgrade-0.1.0-0.1.1.php" hash="935c425258ea38e53750b2c29d4f8963"/><file name="mysql4-upgrade-0.1.1-0.1.2.php" hash="fe155b21566d67a442234b6e79eb5adb"/><file name="mysql4-upgrade-0.1.10-0.1.11.php" hash="49d09f81d946f2adb1c85d9df82ef2b0"/><file name="mysql4-upgrade-0.1.11-0.1.12.php" hash="ea206eb1a90b9f69d218f67061f333d6"/><file name="mysql4-upgrade-0.1.12-0.1.13.php" hash="1ff853acaa6a28fd9b4bdaf29514ca0f"/><file name="mysql4-upgrade-0.1.13-0.1.14.php" hash="04bcdb5db567384f5f5730e515860f52"/><file name="mysql4-upgrade-0.1.14-0.1.15.php" hash="f0881b027d876ba04ee199cc78cf526c"/><file name="mysql4-upgrade-0.1.15-0.1.16.php" hash="57216ec34addd7ee5c7eaec22ec2c27f"/><file name="mysql4-upgrade-0.1.2-0.1.3.php" hash="7661dc81d863d694545619cc29bb5eae"/><file name="mysql4-upgrade-0.1.3-0.1.4.php" hash="590fa44959f6f7eee97b3ed60f457f79"/><file name="mysql4-upgrade-0.1.4-0.1.5.php" hash="c48d705fd46c240333b9714d285608ff"/><file name="mysql4-upgrade-0.1.5-0.1.6.php" hash="954022ed0f417fc88563f7714b837002"/><file name="mysql4-upgrade-0.1.6-0.1.7.php" hash="47f79b65ee08a98d9a2384ee272b6115"/><file name="mysql4-upgrade-0.1.7-0.1.8.php" hash="08329ddb5b63676cb1ec21c54d656b9c"/><file name="mysql4-upgrade-0.1.8-0.1.9.php" hash="c6f922e771296d9825ed6ac46baf201e"/><file name="mysql4-upgrade-0.1.9-0.1.10.php" hash="4959673a9ecfd8101537611c2196389f"/><file name="mysql4-upgrade-1.3.9-1.4.0.0.php" hash="9a05f94ff39ae21bf150a5de0c989000"/><file name="mysql4-upgrade-1.4.0.0-1.4.0.1.php" hash="9ffbb8d7bb6bab9522c8d973cc1c3a7b"/><file name="mysql4-upgrade-1.4.0.1-1.4.0.2.php" hash="9c21c4304bb549da8bf45ef68d2eb955"/><file name="mysql4-upgrade-1.4.0.2-1.4.0.3.php" hash="959e73c2831f1beba3b34283dd9080ae"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="22ff9aa1fa9bed6cd198f6c363bdebd0"/><file name="mysql4-upgrade-1.6.0.0.1-1.6.0.0.2.php" hash="721d09be119a9721f79cd7b1616937ce"/><file name="upgrade-1.6.0.0-1.6.0.0.1.php" hash="d98e8b797596118339ad1f7d1d11a56a"/><file name="upgrade-1.6.0.0.1-1.6.0.0.2.php" hash="3334037f3df011313b4cc5567d6cfa1a"/></dir></dir></dir><dir name="Eav"><dir name="Block"><dir name="Adminhtml"><dir name="Attribute"><dir name="Edit"><file name="Js.php" hash="e0bba2d57c4540d7195297cdf88d2bd6"/><dir name="Main"><file name="Abstract.php" hash="457a084c10be074a8c774f997d9ac8e4"/></dir><dir name="Options"><file name="Abstract.php" hash="b4f11e7d20dbfe0c6869e8eea80dfb1f"/></dir></dir><dir name="Grid"><file name="Abstract.php" hash="a2657b40ee26194898ae39afc02947cc"/></dir></dir></dir></dir><file name="Exception.php" hash="ba78eaacf2dc82c3cffe9548d50747f3"/><dir name="Helper"><file name="Data.php" hash="6d1932a60c28de1ecd04570ca364eaa3"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Source"><dir name="Inputtype"><file name="Validator.php" hash="a2675fe89ef6f342922029238f2ea5c0"/></dir><file name="Inputtype.php" hash="4afc8da40c91a9f47b55c03ceac7990f"/></dir></dir></dir></dir><dir name="Attribute"><dir name="Data"><file name="Abstract.php" hash="306fcd0c0607ac616612120f9c77d287"/><file name="Boolean.php" hash="18858a47815608071999b0b5ca1165c3"/><file name="Date.php" hash="6769356dbf884bf768ee06a318aa44e2"/><file name="Datetime.php" hash="df486c8eb6af383ad7804695e91efff1"/><file name="File.php" hash="7cead2c01b8e44a125d763e865fbdeb3"/><file name="Hidden.php" hash="24980022dd521fb150ae8c538786fbbf"/><file name="Image.php" hash="c4d430baccc315f46a45b99c3a4bf9be"/><file name="Multiline.php" hash="faf0756527157bbb78ac40d08f0e6ea6"/><file name="Multiselect.php" hash="2732b3248b01aee3f10fb501cd01e6c4"/><file name="Select.php" hash="f1bcb979195337a74e5cfdb282551cd3"/><file name="Text.php" hash="c9d2dc2235eb7170bfa1cf0b5d9a203c"/><file name="Textarea.php" hash="80ec9bc40d0b8cc4f0c4fb597d2819f1"/></dir><file name="Data.php" hash="305a8daf73fe035215210e588ae6c8ad"/></dir><file name="Attribute.php" hash="4ace96e951c06dd07f00c390e870a60d"/><file name="Config.php" hash="c42f7c5fd927b3a5c64d7a7c34c4a6a5"/><dir name="Convert"><dir name="Adapter"><file name="Entity.php" hash="0ade841607bab74e7a483d455b9f52f9"/><file name="Grid.php" hash="7fc479f09d622aaaf52890c7d58cfc8f"/></dir><dir name="Parser"><file name="Abstract.php" hash="8db62cb6da63d23daf851de36e320be3"/></dir></dir><dir name="Entity"><file name="Abstract.php" hash="1b3e6381322b675e379867450e961b14"/><dir name="Attribute"><file name="Abstract.php" hash="4453af18683a4f976e0482f8b22c5e49"/><dir name="Backend"><file name="Abstract.php" hash="aab703cc6b8cce7d9a8a8f118e5e7531"/><file name="Array.php" hash="99875b63f65864791260146ba38d3206"/><file name="Datetime.php" hash="e9d9857bff9668b2c652a9d6b9a16e4e"/><file name="Default.php" hash="8fbbfcbd555ebdd43d03bb958ff33390"/><file name="Increment.php" hash="4a0efac8a50f88f2b1d97fc86fb91fd9"/><file name="Interface.php" hash="6e0ed88de1bfdcf5bb4de9d64a945dac"/><file name="Serialized.php" hash="0c6e0dcc914fffe7ddc3d6d7090e0c21"/><file name="Store.php" hash="97409a22dc17d154d20ca68eb1f3864b"/><dir name="Time"><file name="Created.php" hash="42b416adf0c6918aeba35d9c27b249b8"/><file name="Updated.php" hash="240414877034fe485c7270a923935c58"/></dir></dir><file name="Exception.php" hash="1b3b6f8d415510f60ca92f8fae59876e"/><dir name="Frontend"><file name="Abstract.php" hash="24237f13ba4d0cc05b45103aa15052d6"/><file name="Datetime.php" hash="aae764ac16d26251acb7c4a948782102"/><file name="Default.php" hash="5c45d132eaa76426fb30c662fa161e0d"/><file name="Interface.php" hash="cfdc936f738438f302061440b520b68d"/></dir><file name="Group.php" hash="0aa9726a108e94b20a07365b28105996"/><file name="Interface.php" hash="3ceddd274b6274c99a51aa1f36a406dc"/><file name="Option.php" hash="9ee6bc3d4f689086b37b2ffc18b785cd"/><file name="Set.php" hash="e647755dae1f6158ef4c05ff9ca4c5a8"/><dir name="Source"><file name="Abstract.php" hash="85bb954a30e6e5789456b2041872fbc5"/><file name="Boolean.php" hash="7acdb80b01292956b92db947973b0cdc"/><file name="Config.php" hash="e9dec75fb6c8eb8726fd5039c3e2fde8"/><file name="Interface.php" hash="789df7c41a366fe4fc689c655d492a8d"/><file name="Store.php" hash="83cfdbed4e59a35f70996934da9c053d"/><file name="Table.php" hash="b641a1cbeedacfd68baca2ba7f05ecc9"/></dir></dir><file name="Attribute.php" hash="32b1110f5ac0bff0bf83fa1a9fc3c72e"/><dir name="Collection"><file name="Abstract.php" hash="1d7bc470b4508cb09a6fc7db7d651f15"/></dir><file name="Collection.php" hash="f33ad123504fcded784d6390769539cc"/><dir name="Increment"><file name="Abstract.php" hash="f967bb4fc23c850be7c268d50a7cea0b"/><file name="Alphanum.php" hash="f7a3e9c80bcefde59d531d46a6433fce"/><file name="Interface.php" hash="bb5b075e6e0f93b5294d8394e0f4c8cb"/><file name="Numeric.php" hash="a6df9348d7d018da95bbf66a2c8a3503"/></dir><file name="Interface.php" hash="4a2c904265bdf814ea5b3cdad22c615b"/><file name="Setup.php" hash="60425807abfee75f5949f0bdb758f407"/><file name="Store.php" hash="af4c09a4e20e7fbacb7deeac0e470bcb"/><file name="Type.php" hash="c94283878472673af91cc9c1d06332e4"/></dir><file name="Entity.php" hash="a354f3b0d015f164ac3af7292b617019"/><dir name="Form"><file name="Element.php" hash="f7e425204d55ac6395c0695b7a550bd4"/><file name="Fieldset.php" hash="6f911a1dd046a6c2d9429a0e42a7bdc3"/><file name="Type.php" hash="389f76edf7ae69afaa26be81d817e63a"/></dir><file name="Form.php" hash="1ad7a7957defd42a9fd071ad02b138a2"/><dir name="Mysql4"><file name="Config.php" hash="007e3a0c288d5a921a1d7ffbccd15c9c"/><dir name="Entity"><dir name="Attribute"><file name="Collection.php" hash="af2a8e18dec1095aeb8cd167f4084f08"/><dir name="Group"><file name="Collection.php" hash="63819ab574b2252fb3e36f4722c3bfe1"/></dir><file name="Group.php" hash="7f4daa758c746bcf7a35ba2fcca56aa8"/><dir name="Option"><file name="Collection.php" hash="d981884b8300d5f1cdc295badad4d397"/></dir><file name="Option.php" hash="5123a55ce2e310234ed2eea4ba2103d2"/><dir name="Set"><file name="Collection.php" hash="59191804e6864586038796ace8ed39e9"/></dir><file name="Set.php" hash="6ac37acb880ef52967c53c20f4a18292"/></dir><file name="Attribute.php" hash="36f7157a08817d00f8408a80ad307726"/><file name="Store.php" hash="ac8bdd504017b69c029d014f1acb883e"/><dir name="Type"><file name="Collection.php" hash="df4a0594aa35f346c052a9188a5c4471"/></dir><file name="Type.php" hash="ad6ac3edee4ec97ce9332b165eef1736"/></dir><dir name="Form"><dir name="Element"><file name="Collection.php" hash="45b9183328ee19850345752b1a8e23fd"/></dir><file name="Element.php" hash="4166c03b2847882e3368be57d1cb7f6b"/><dir name="Fieldset"><file name="Collection.php" hash="5146d0c568cddd8ec261ffb7c0a7bac0"/></dir><file name="Fieldset.php" hash="988d72a77b0182cabebdff61fc9a2531"/><dir name="Type"><file name="Collection.php" hash="5cda9032e5d07855388b412abe4c8d71"/></dir><file name="Type.php" hash="85d66f2053a03b1a495ed6ffd7cba6c8"/></dir></dir><dir name="Resource"><dir name="Attribute"><file name="Collection.php" hash="745a9bffdca7a1641891bcd4b0b3ec32"/></dir><file name="Attribute.php" hash="9b08b8a0b41eeed8a9ebf3acfb1b89ec"/><file name="Config.php" hash="30786ab3c85c165506c3db425cf9cfa5"/><dir name="Entity"><dir name="Attribute"><file name="Collection.php" hash="5aa1077e62b09344de49240534ac1c1f"/><dir name="Group"><file name="Collection.php" hash="f6d61cf7b743537537a27648b7b1605a"/></dir><file name="Group.php" hash="017cba9a5945e4f851460e5080aed89d"/><dir name="Option"><file name="Collection.php" hash="021d33b2d1d89308eb74f3597a3796cd"/></dir><file name="Option.php" hash="1515ac3c5a915d814a63b7fe1d5e63bb"/><dir name="Set"><file name="Collection.php" hash="4064d63b518886a4e1a8b0539868297b"/></dir><file name="Set.php" hash="5caa0c72cd0a8bb9a73f6c537ab7c19a"/></dir><file name="Attribute.php" hash="0d90287692b6f7b8aa961e82992e6b80"/><file name="Store.php" hash="7ccda84a385ab0b3bcfbe2d0f9214a8e"/><dir name="Type"><file name="Collection.php" hash="f2271900b7cc9bcc317c3b15561b460f"/></dir><file name="Type.php" hash="258dc3600151215743abb3f826df4572"/></dir><dir name="Form"><dir name="Attribute"><file name="Collection.php" hash="b3e6bffd6179cf09b589f1d0f7a57a4c"/></dir><file name="Attribute.php" hash="1bae3456f8a814790ea27c6f87fe640e"/><dir name="Element"><file name="Collection.php" hash="fcbc5b35885479067ec6fcd8ddb212e5"/></dir><file name="Element.php" hash="25036926d29af351dbddea9896c118d1"/><dir name="Fieldset"><file name="Collection.php" hash="86c6b6a9ed62afd852f3ffd3aa82e88a"/></dir><file name="Fieldset.php" hash="76933617fe53fd9d5cccf6c4c3e6ae65"/><dir name="Type"><file name="Collection.php" hash="94d8400f8b81c0b5d46c3716a46197a1"/></dir><file name="Type.php" hash="bfcfa79bf5911c3cf38699903edcbde3"/></dir><dir name="Helper"><file name="Mysql4.php" hash="e569889cc3ec54dc85de288aaf895e09"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="dbab2258c8d26c903915254fe61ef3b3"/></dir><dir name="sql"><dir name="eav_setup"><file name="install-1.6.0.0.php" hash="8bd8cda1628ad65acced30d89f9e79f2"/><file name="mysql4-install-0.7.0.php" hash="b5c7cab312704e2f4b0837c7713ed7e5"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="4dc93d791f8319279f500b0b4ed8b72b"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="3304a0f850d10d0083eacfb2614043af"/><file name="mysql4-upgrade-0.7.10-0.7.11.php" hash="0a66058a0c21cb0746195f2cf09a8987"/><file name="mysql4-upgrade-0.7.11-0.7.12.php" hash="45a1db26109e930762aa3e6d27e7315e"/><file name="mysql4-upgrade-0.7.12-0.7.13.php" hash="eac8e6dbd6a556a0c97ec397a4b2bb6d"/><file name="mysql4-upgrade-0.7.13-0.7.14.php" hash="f9ef9728e9111ce19b3d4b0ced28c5dd"/><file name="mysql4-upgrade-0.7.14-0.7.15.php" hash="ead9b25a17f8bcfc1b874e568008e688"/><file name="mysql4-upgrade-0.7.15-0.7.16.php" hash="74a8a82cc1660b3be1ccec4131387b5b"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="821ca88eb77698b1e1363314d78c61b4"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="507ed2e28ff2f31e35df016bcb3aa6ce"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="962eed9c04187bec9872955c3cbcdd24"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="1794620b2d297dd60179fcf6f5932c74"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="41bc6f807ca7e82b1a49860647de4d22"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="b47e4d4570ed78ec510b818e705c60e5"/><file name="mysql4-upgrade-0.7.8-0.7.9.php" hash="3cc86e7527496b42cc349baf22061625"/><file name="mysql4-upgrade-0.7.9-0.7.10.php" hash="31a77042c51dda6249cf7b26175d41cf"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="5d300439dcdb43b988cdc3eb6a723a69"/><file name="upgrade-1.6.0.0-1.6.0.1.php" hash="c254084e38d31391d4a9dcf6f5efb1b5"/></dir></dir></dir><dir name="GiftMessage"><dir name="Block"><dir name="Adminhtml"><dir name="Product"><dir name="Helper"><dir name="Form"><file name="Config.php" hash="2b97d65b248912e6056105eb7b22647a"/></dir></dir></dir><dir name="Sales"><dir name="Order"><dir name="Create"><file name="Form.php" hash="102f55b5670ecc4624d2779a5d9dae47"/><file name="Giftoptions.php" hash="5af2eaa83c347cf87f944cecc240f72f"/><file name="Items.php" hash="b4833f6731249bb524d0ac5c8b61b823"/></dir><dir name="View"><file name="Form.php" hash="d96b129bc6aa7fb968b6b3bca40d6641"/><file name="Giftoptions.php" hash="8e5db4e604059e74dfa6a6cbf48eab22"/><file name="Items.php" hash="8c4cfb13907db5b6caab2a99ee039918"/></dir></dir></dir></dir><dir name="Message"><file name="Form.php" hash="e0b6247f6e0dac8a096335409c8bbf58"/><file name="Helper.php" hash="3a4cbf8851f4b489b433bb23fb62a50b"/><file name="Inline.php" hash="07b38ebaac00b45a1929387903ff3862"/></dir></dir><dir name="Helper"><file name="Data.php" hash="5b88dfacb8f95f979585366200b80f72"/><file name="Message.php" hash="92f73fd54b2a59340bfdbf05615fb68f"/><file name="Url.php" hash="9f8d36e13391f023deaaf0b912cc37fc"/></dir><dir name="Model"><dir name="Api"><file name="V2.php" hash="f04aee0ff3e2490540050c4b319ccedf"/></dir><file name="Api.php" hash="ae703cf87197282f7efde1dae67864af"/><dir name="Entity"><dir name="Attribute"><dir name="Backend"><dir name="Boolean"><file name="Config.php" hash="912ab6934476d64533586fd38351183d"/></dir></dir><dir name="Source"><dir name="Boolean"><file name="Config.php" hash="529f82da62485f46d085625efc092714"/></dir></dir></dir></dir><file name="Message.php" hash="6e3d9660ffca1ed6f992e15d2143e486"/><dir name="Mysql4"><dir name="Message"><file name="Collection.php" hash="8610d5937a758e916c2d81dbd41d36ac"/></dir><file name="Message.php" hash="6d0ccc5368848a220e397da25dfaf737"/><file name="Setup.php" hash="2407a2d026ed41cb38ceff1ebccb8c88"/></dir><file name="Observer.php" hash="9e8f1570cc6efdf82b5fc5b4b2e12b58"/><dir name="Resource"><dir name="Message"><file name="Collection.php" hash="6949121421c02e75fb923b0170b73d99"/></dir><file name="Message.php" hash="6b09b60ccc7b993dd17c5240cd2aa7ac"/><file name="Setup.php" hash="30c57e5147e83cce71f3976820ce24c6"/></dir></dir><dir name="controllers"><file name="IndexController.php" hash="7897754c8f0647dd688d6c57f4b74070"/></dir><dir name="etc"><file name="api.xml" hash="14039afdb9315721b5b515c9f34f41cb"/><file name="config.xml" hash="3cb2d88b80c9f48c64a36d62e9abcd3f"/><file name="system.xml" hash="510b3986f40a221b5d18f9dda07194c9"/><file name="wsdl.xml" hash="b99aaaac0126c6e09a7ba59fa4dbcf30"/><file name="wsi.xml" hash="ab77c7cfecb0f5d6cb7b07c0b5abc1d1"/></dir><dir name="sql"><dir name="giftmessage_setup"><file name="install-1.6.0.0.php" hash="0fb2290857ea3b17b7ed76e851d27c62"/><file name="mysql4-install-0.7.0.php" hash="654f2dbfc67cf93ffdd6d78a461e896a"/><file name="mysql4-upgrade-0.1.3-0.7.0.php" hash="e4ca5e477b610b00e61a8f7509ee1f5f"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="7775c0535994eefcc81be63041a681a1"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="2d547e8260cc8efdad80bb7898d536f5"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="80c9fd152bb817c49659463cc955b7a2"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="e11619037b1758b3ee2cd847af91315d"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="01dc822919ac4feb64b4d321078d3f8a"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="fd7bb80cc8682a3991609c5b1eed3977"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="ab382785e333359bb9793011aac0f586"/></dir></dir></dir><dir name="GoogleAnalytics"><dir name="Block"><file name="Ga.php" hash="21d9fd37c1e92ae684566de0eb42791f"/></dir><dir name="Helper"><file name="Data.php" hash="100f3a40bea481c98c1393f43b6bc603"/></dir><dir name="Model"><file name="Observer.php" hash="ad6ac25124a3322a714e20a977064be0"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Type.php" hash="4805f9d896da417036af79e15613eac3"/></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="5fea2673308abebb7cd8c15359737309"/><file name="config.xml" hash="4284f96f4068849482549a713d11c4f8"/><file name="system.xml" hash="c91c97c91ae42121ff31cd23d5a5682b"/></dir><dir name="sql"><dir name="googleanalytics_setup"><file name="install-1.6.0.0.php" hash="a7ae51e268e4b23f43b1f6b1477691f9"/></dir></dir></dir><dir name="GoogleBase"><dir name="Block"><dir name="Adminhtml"><file name="Captcha.php" hash="62f522f22cb64d19850b09ccee65adb6"/><dir name="Items"><file name="Item.php" hash="f8c9007a1ad978bb47b6c9d5d2c11d93"/><file name="Product.php" hash="e51f257f3918fcd5e72ce12f5f527b87"/><dir name="Renderer"><file name="Id.php" hash="a163a4d6a3edc89a19bb0efa0675ac7d"/></dir></dir><file name="Items.php" hash="f78483b50fc3e072d0dccb10fdc6e45a"/><dir name="Store"><file name="Switcher.php" hash="7dd1e22cb003eecdfa9a7d4df6628e1e"/></dir><dir name="Types"><dir name="Edit"><file name="Attributes.php" hash="de7ce9a9907ae7d7d94adb123ba364c4"/><file name="Form.php" hash="76cb4afbadef58a6cb517007fd258a1a"/></dir><file name="Edit.php" hash="7a8c72d4f8d506f69561735fe175d759"/><file name="Grid.php" hash="1794a6560af01397f30022cbf248de3f"/><dir name="Renderer"><file name="Country.php" hash="60106faee902375cc177fa463e27ec2a"/></dir></dir><file name="Types.php" hash="cc6a7f78d0e2edf4dfe7a40b46282138"/></dir></dir><dir name="Helper"><file name="Data.php" hash="a9d67fdd71f358434564df80fc163a06"/></dir><dir name="Model"><file name="Attribute.php" hash="c9e51b38341831512db3e739233707d4"/><file name="Config.php" hash="a3afa7ff5098f38dfe1d5c979f7389d1"/><file name="Item.php" hash="a200fd6fc7e97b66695133fa4650f35e"/><dir name="Mysql4"><dir name="Attribute"><file name="Collection.php" hash="4bf3b43f87dac062e4cba4ee6b155b02"/></dir><file name="Attribute.php" hash="8a74acdccc2d5e802c2f1ddf6b9f2a2d"/><dir name="Item"><file name="Collection.php" hash="26993881e30a5bc17876ae4024400823"/></dir><file name="Item.php" hash="73f6da324cb2de0d5975130fc7db4077"/><dir name="Type"><file name="Collection.php" hash="0294f3588c2dce8cd416e4ed5349d832"/></dir><file name="Type.php" hash="062cb6dd81aed45a04e69ef7acd5ab3d"/></dir><file name="Observer.php" hash="7a728d960e8d7291dad86f4391091696"/><dir name="Resource"><dir name="Attribute"><file name="Collection.php" hash="ea5ac4726d4656f50002c16f0b95cd58"/></dir><file name="Attribute.php" hash="8ff14327de62fcf5a8a0b01677202a41"/><dir name="Item"><file name="Collection.php" hash="b00cf45f527f967c76c8ce2d4b74fda4"/></dir><file name="Item.php" hash="ec0a24d01ec1e532d7d1c68ba0bf8eca"/><dir name="Type"><file name="Collection.php" hash="f72ce44ab1aec0e8c9e8dab0353b388c"/></dir><file name="Type.php" hash="4364b45b8eba2cf13aa0aa945ee9c03d"/></dir><dir name="Service"><file name="Feed.php" hash="199e735393a20e97b65cdee9f1c23fcd"/><file name="Item.php" hash="f02a6db44af965fc155d93048077ac08"/></dir><file name="Service.php" hash="278413ad9e0e76f20e58736aaf8aa5b9"/><dir name="Source"><file name="Accounttype.php" hash="f52c54635bd844df6474a5b890d468b2"/><file name="Authtype.php" hash="31fc1f9aa9000ff058ab8765cafd4e04"/><file name="Country.php" hash="886467f45e88a020c30ae01c9e5578e9"/><file name="Statuses.php" hash="ebcdec3951e1ed9ee101d149dd1bb24a"/></dir><file name="Type.php" hash="328e54fa39d0fbb1dffbe800b38d4100"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Googlebase"><file name="ItemsController.php" hash="b643377439ef3280554774f5d422766f"/><file name="SelectionController.php" hash="7238751980394f57e9f8cca86819114f"/><file name="TypesController.php" hash="72e6982dad771b164f21aa77b7507bbf"/></dir></dir><file name="ItemsController.php" hash="3e1165defd70e63523405e6a8debcab7"/><file name="SelectionController.php" hash="63901f0e85cb0769358a745c4628e58d"/><file name="TypesController.php" hash="9e01961f36dee9a443ac5c875f5ba939"/></dir><dir name="etc"><file name="adminhtml.xml" hash="a72bbb994243c60b20bd507b5ad4bd5e"/><file name="config.xml" hash="8b080f10dc19b429bfa57197e0fed070"/><file name="system.xml" hash="abdd0ddd6a9936e18c2e12181ccd0cf4"/></dir><dir name="sql"><dir name="googlebase_setup"><file name="install-1.6.0.0.php" hash="ac81f7ef2a424e846595f7aaeca9eb57"/><file name="mysql4-install-0.1.0.php" hash="5ef567e8fd3f272288334985d8319ed7"/><file name="mysql4-upgrade-0.1.0-0.1.1.php" hash="0bbd83ea551e93f64fa1ee618659d1bd"/><file name="mysql4-upgrade-0.1.1-0.1.2.php" hash="e94099eedd81ce5f48dbeb10adbcc391"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="f5618d5a47a34bdfc1a20c869f60b2ee"/></dir></dir></dir><dir name="GoogleCheckout"><dir name="Model"><file name="Payment.php" hash="1f39c37b4560a4016f479f8e97d4ef08"/></dir><dir name="etc"><file name="config.xml" hash="46071ba0ff385dc63194959aa98e5b89"/></dir></dir><dir name="ImportExport"><dir name="Block"><dir name="Adminhtml"><dir name="Export"><dir name="Edit"><file name="Form.php" hash="191ccf47abab7c84547280304805073a"/></dir><file name="Edit.php" hash="360e63e850d8f71eb7e75cf3cc21578c"/><file name="Filter.php" hash="c02bfef81c8010bc55d03bd26d4d72a8"/></dir><dir name="Import"><dir name="Edit"><file name="Form.php" hash="792fe3b32111587f3cb6da0e20b2dd7d"/></dir><file name="Edit.php" hash="89d3340a3cf9ca522457b72f882681f9"/><dir name="Frame"><file name="Result.php" hash="d325e4179d827ca9af9098f0d875f888"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="ca76d4112ae9ddbdcac3405c84cc0fd6"/></dir><dir name="Model"><file name="Abstract.php" hash="40838be4ecbacd9411cce97a8e33fd59"/><file name="Config.php" hash="157790b05e5a9c2e0b7d204b88917318"/><dir name="Export"><dir name="Adapter"><file name="Abstract.php" hash="067bc84c008b653830cfec4b1c85a563"/><file name="Csv.php" hash="adfef1439deb7997cc6d2daa177461af"/></dir><dir name="Entity"><file name="Abstract.php" hash="ecd9e50ef2e64fdf47d99f55187a375d"/><file name="Customer.php" hash="6fbab142f39b8face3992add03aa5e28"/><dir name="Product"><dir name="Type"><file name="Abstract.php" hash="1de48655376671c162493cb3d95a0be9"/><file name="Configurable.php" hash="4686346b2b166ff1f92146293cc7e327"/><file name="Grouped.php" hash="38f7b2c87a9455afdd0c135758740796"/><file name="Simple.php" hash="9ef13bb631878a0af571539965571172"/></dir></dir><file name="Product.php" hash="35e6194ad1be721d030dc574851b549a"/></dir></dir><file name="Export.php" hash="3315b1eb387128ff2d2fcf4ed9a90be7"/><dir name="Import"><dir name="Adapter"><file name="Abstract.php" hash="2ad7d03cced97eaaa1651ddd2b7f7083"/><file name="Csv.php" hash="75a2655c6e3540b2ca24619293902dd1"/></dir><file name="Adapter.php" hash="f236483dac22b562e1d06a5355a7f8f5"/><dir name="Entity"><file name="Abstract.php" hash="ae4bdb8377bd890291cf075cd2effefa"/><dir name="Customer"><file name="Address.php" hash="2dff3ecd1ea7e56b7eb5d1df71592688"/></dir><file name="Customer.php" hash="797346fdbfe9af363bd6dae40547a87a"/><dir name="Product"><dir name="Type"><file name="Abstract.php" hash="93a0b9def9a8f96499b060c3e12caadf"/><file name="Configurable.php" hash="855d66a8f65b42bc32724de18dbffcaf"/><file name="Grouped.php" hash="7fb797515dc6bf4fb6b695dd7a50209c"/><file name="Simple.php" hash="1fbbbbf117e24efa9ab1fa9fce3736f9"/></dir></dir><file name="Product.php" hash="6a7097746a67925f2a7d464b476e385d"/></dir><dir name="Proxy"><dir name="Product"><file name="Resource.php" hash="fd09d311d1aa8f092f7bafd3057a74ba"/></dir><file name="Product.php" hash="ef5715669f2930b67adf56d347ed4335"/></dir><file name="Uploader.php" hash="dcfeeb3f8ada78be25beca1dccef0708"/></dir><file name="Import.php" hash="31c1fb6a58202618c63bedc68330edfe"/><dir name="Mysql4"><dir name="Import"><file name="Data.php" hash="4b9f1050be63d5e883107af1296175f2"/></dir><file name="Setup.php" hash="ae69a84651baea4a3980558f63bef95a"/></dir><dir name="Product"><dir name="Attribute"><dir name="Backend"><file name="Urlkey.php" hash="c48051028fca4186c5c6d9b86de4b26b"/></dir></dir></dir><dir name="Resource"><dir name="Helper"><file name="Mysql4.php" hash="bf9c7c30ee1dc6fa8dfc921f8ae7dfc4"/></dir><dir name="Import"><file name="Data.php" hash="c4db1e915b5b7f72a0ff25cf4f2f1541"/></dir><file name="Setup.php" hash="2d595c2da3a7deb58f70949f10a2dd3e"/></dir><dir name="Source"><dir name="Export"><file name="Entity.php" hash="b1e3a8910a8855867da94132482feb51"/><file name="Format.php" hash="d6d5b4658fc212ba88e5ee9200b65080"/></dir><dir name="Import"><file name="Behavior.php" hash="887159c45f3ab8ccd55f07ae44855d40"/><file name="Entity.php" hash="482bac24d63807f8a1e7dce11b15ca63"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="ExportController.php" hash="8f99a0a7b22cf679f906787d83d7e2ca"/><file name="ImportController.php" hash="60eaa6d4654ea83fcc6f35912b3493c3"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="8b27d8fa6369ee77b35c48e50dd63eb0"/><file name="config.xml" hash="a371b4c0e0e2475f7ad26c0c0a0e02e4"/><file name="system.xml" hash="143e367568323924092b21685a72c211"/></dir><dir name="sql"><dir name="importexport_setup"><file name="install-1.6.0.0.php" hash="e9c28a9b24e977248e6cf669002a4ebe"/><file name="mysql4-install-0.1.0.php" hash="477525d2570e7ec6f7b26cde9ba38f4a"/><file name="mysql4-upgrade-1.6.0.1-1.6.0.2.php" hash="31078007e13b489ee06a2d98c5f68f0e"/></dir></dir></dir><dir name="Index"><dir name="Block"><dir name="Adminhtml"><file name="Notifications.php" hash="64e42d1d0916743a3c267a9d3986a018"/><dir name="Process"><dir name="Edit"><file name="Form.php" hash="afec06dbd7f7e4703655d23518471df5"/><dir name="Tab"><file name="Main.php" hash="eab42bfbcdb027c24bdf85780380b453"/></dir><file name="Tabs.php" hash="f0027c1dec504f914afc09a5107d98cc"/></dir><file name="Edit.php" hash="a8607cfd423515bbab8652621b57ba97"/><dir name="Grid"><file name="Massaction.php" hash="81e99da4acec59e14a5328d88d1eef59"/></dir><file name="Grid.php" hash="2d48734f2ffba326c7e48f1c79fec71b"/></dir><file name="Process.php" hash="a5905ac7c9d456b64ab5efcbb01bfce8"/></dir></dir><file name="Exception.php" hash="3f9709e30bf75621f0b2b009fac764a3"/><dir name="Helper"><file name="Data.php" hash="526c8c51d7557bb7e2bebdc796d83dee"/></dir><dir name="Model"><file name="Event.php" hash="4ddf63e7fa648061409e0225cd44e404"/><dir name="Indexer"><file name="Abstract.php" hash="3456ff7dde44167200fa592863a01abb"/></dir><file name="Indexer.php" hash="7e249ec7766c897fcc067337af52f972"/><dir name="Lock"><dir name="Storage"><file name="Db.php" hash="7b6395c88009ce3b639153553dbfbe90"/><file name="Interface.php" hash="228a5b390d2eb1461f8284f0b0a0e436"/></dir></dir><file name="Lock.php" hash="18ae0b5da223a0e92aed6b366118633f"/><dir name="Mysql4"><file name="Abstract.php" hash="da2155dd41c4e0bc6d59024cfb8ecb6c"/><dir name="Event"><file name="Collection.php" hash="309b479d4c1fd12a8bb3ef51ab199245"/></dir><file name="Event.php" hash="b25a7b1d24b6260998c37c63c333d8b2"/><dir name="Process"><file name="Collection.php" hash="254e38062f1c44ddeb34b6e28bf1cd70"/></dir><file name="Process.php" hash="50c2548f9175cc128f8cb28251d82ab0"/><file name="Setup.php" hash="e173a9a5363dc1795e537e33aa2fd2e0"/></dir><file name="Observer.php" hash="f651484dc38526885bcb6b52a330a92c"/><file name="Process.php" hash="1beada279d1055354e1567b610ecf06b"/><dir name="Resource"><file name="Abstract.php" hash="e3f04920b0ccdcf81cad334aa4c98d92"/><dir name="Event"><file name="Collection.php" hash="7e1da3865c397d4f8f8f39deacdaf477"/></dir><file name="Event.php" hash="b38237c2f5e6479523e2e5dca54abfb7"/><dir name="Helper"><dir name="Lock"><file name="Interface.php" hash="68edac6eef4180e63de6c52596f2b6b7"/></dir><file name="Mysql4.php" hash="02072c9858b4d309efadf7b07f58538d"/></dir><dir name="Lock"><file name="Resource.php" hash="b1ade0fb2bf60074421c007373cd8f87"/></dir><dir name="Process"><file name="Collection.php" hash="23640077491875846f0bd74705a3fb3d"/></dir><file name="Process.php" hash="6cc0a505a68ac88ea9a9fd8bfed8ace4"/><file name="Setup.php" hash="9d334f0343ac10a2224fab7adb308709"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="ProcessController.php" hash="828bd6d468d2ac1b795a96963e61effa"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="881d9be8b3c918a1cf77f9e930efdf42"/><file name="config.xml" hash="0f27f7d206075ae8f14bff9293b2189c"/></dir><dir name="sql"><dir name="index_setup"><file name="install-1.6.0.0.php" hash="15418fe240598d12bf4d35dfd4d30a24"/><file name="mysql4-install-1.4.0.0.php" hash="3d1236edd44f29b962421065da8f0296"/><file name="mysql4-upgrade-1.4.0.0-1.4.0.1.php" hash="1c13dc777f4d4ed5ecd9ba41006fa6d3"/><file name="mysql4-upgrade-1.4.0.1-1.4.0.2.php" hash="4469700c7a18ff4a769e76be0c90266e"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="614694540111f3a5a21295109475a53e"/></dir></dir></dir><dir name="Install"><dir name="Block"><file name="Abstract.php" hash="555000323855b771524db1059d3c7325"/><file name="Admin.php" hash="acc664e804f36a76f83951fa9e006179"/><file name="Begin.php" hash="3c352bab206779b7424b8353cda33106"/><file name="Config.php" hash="5aaa7143564a85f0514f302e750756e2"/><dir name="Db"><file name="Main.php" hash="b47e431840dcbd7f3ad112a5bab094ff"/><dir name="Type"><file name="Mysql4.php" hash="0758a30a32781d178ceebf407b8ec7ed"/></dir><file name="Type.php" hash="29ba04bc5cfacd3edd3af12454ecf420"/></dir><file name="Download.php" hash="015e92ffaafb93fbc7734a019747cefc"/><file name="End.php" hash="6869d3d567eca578c8ac18375c235764"/><file name="Locale.php" hash="c237683a54c18d9e9c1e592cf3abfa32"/><file name="State.php" hash="d2b2eb2154ba0696c2e8f51c360fb38c"/></dir><dir name="Controller"><file name="Action.php" hash="936a0d4a816a2f20af2e82075fc09faf"/><dir name="Router"><file name="Install.php" hash="daad88210875f371d0308ad9232527ff"/></dir></dir><dir name="Helper"><file name="Data.php" hash="19d3c8e41fbdb23f2d36c7136daf4ca3"/></dir><dir name="Model"><file name="Config.php" hash="97fe63982485036efc55aa51f5a56664"/><dir name="Installer"><file name="Abstract.php" hash="3cfd0c23eec851411c164e572f2a9d77"/><file name="Config.php" hash="6d712ce39c557e7170d3450401a66bad"/><file name="Console.php" hash="a1a9e4fa9c3a75a3a3672d80ec6f7445"/><file name="Data.php" hash="3187a8648f8bd73efc4037e7491a29c6"/><dir name="Db"><file name="Abstract.php" hash="ee952066e04729eb05b4aad84e1266aa"/><file name="Mysql4.php" hash="58e387d6ca053687e4dc3c16664105d9"/></dir><file name="Db.php" hash="1c677f1de56b0cfed06c89d43fd2e6a4"/><file name="Env.php" hash="ab54af3da141dcffd4550230932fc31b"/><file name="Filesystem.php" hash="dd2164debedfc223c151543d6604754b"/><file name="Pear.php" hash="ea295ba14228f45bac4fd7c0efe3b655"/></dir><file name="Installer.php" hash="8aab26a891e8786b3fd82d1a6ddd2d86"/><file name="Observer.php" hash="7121ca74bcbf584b617f1beedb6b8a22"/><file name="Session.php" hash="cc550bb13df895f0ea855727598c60c2"/><file name="Wizard.php" hash="5d0aee29acb9303f1769d3a254335a1a"/></dir><dir name="controllers"><file name="IndexController.php" hash="256c45076b06fa9e37bda5b226d085b0"/><file name="WizardController.php" hash="20a361bc4c1b891c0406740e24dde5ab"/></dir><dir name="etc"><file name="config.xml" hash="d6b69e99d14fba4296f9ddf90ae4ec25"/><file name="install.xml" hash="31da31823570f91544558cd61c7fc226"/></dir></dir><dir name="Log"><dir name="Helper"><file name="Data.php" hash="30ae369a1aa4759d45a453609b5dad3c"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Source"><file name="Loglevel.php" hash="9cad9bf72c99c36940a09de844584716"/></dir></dir></dir></dir><file name="Aggregation.php" hash="5f78ce71ac5613af4644991bf532ff0b"/><file name="Cron.php" hash="d8ad0584b0f7ac24aff2ff0d6cc4cd91"/><file name="Customer.php" hash="b5f937ab16fa39630d9109616fbcbf59"/><file name="Log.php" hash="3aeefc6a2d29ec116b3099bd92164549"/><dir name="Mysql4"><file name="Aggregation.php" hash="b97140f67f21e77ede87b020e9517f5e"/><file name="Customer.php" hash="0d514c735d2ac96ab53aef336ec152c6"/><file name="Log.php" hash="f8e29884e1fe0ea14f53216ea119b753"/><dir name="Visitor"><file name="Collection.php" hash="a310d6e6b71610a4282e467a1b4aa41c"/><dir name="Online"><file name="Collection.php" hash="eb1e5990f2e12de88f7b0aa2b1b62dc1"/></dir><file name="Online.php" hash="e9b8b8a9bd0f56a674ef13f26e76173e"/></dir><file name="Visitor.php" hash="4102a469fbf239d68fb7b2ffb9905a22"/></dir><dir name="Resource"><file name="Aggregation.php" hash="4ce2a95673f3e0d6a96b9416adc1435c"/><file name="Customer.php" hash="e6d3b8a6a126f61a432b4a24967bcdfa"/><file name="Log.php" hash="cd9efd22a95cebc176759b75f3479a6b"/><dir name="Visitor"><file name="Collection.php" hash="a71743a48c7c2074c1af4611b8d8e905"/><dir name="Online"><file name="Collection.php" hash="50f686d723180437039b42ea42553113"/></dir><file name="Online.php" hash="b04b67e7d53aaa3cc4e96f12179bc905"/></dir><file name="Visitor.php" hash="55fb2c737e70985f71d03e9b2d5f3f20"/></dir><dir name="Visitor"><file name="Online.php" hash="c8744cb16a9038474c624a4bc0939166"/></dir><file name="Visitor.php" hash="928d3f4c1949c88f8ef947e47affb03d"/></dir><dir name="data"><dir name="log_setup"><file name="data-install-1.6.0.0.php" hash="83ebb5d68ec9c7a74ea170c7ad4d523d"/></dir></dir><dir name="etc"><file name="config.xml" hash="752c4b618caa3b66cba80355f680f61f"/><file name="system.xml" hash="1d8c7a56952b37a70adba7d4005d69e5"/></dir><dir name="sql"><dir name="log_setup"><file name="install-1.6.0.0.php" hash="e4885569c21f047e584cf37ba17af655"/><file name="mysql4-install-0.7.0.php" hash="d3b05b14033df61f11df7029aab003a0"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="b822f8f0e83f17b4853b78b816205ef9"/><file name="mysql4-upgrade-0.7.1-0.7.2.php" hash="44c6c31099f5e75706ef83c6c0d3e0d8"/><file name="mysql4-upgrade-0.7.3-0.7.4.php" hash="942917aad3bd435d793185fb16dfa1f6"/><file name="mysql4-upgrade-0.7.4-0.7.5.php" hash="273e630ff2847772bc2f0680947defa2"/><file name="mysql4-upgrade-0.7.5-0.7.6.php" hash="7dcc3a767526ab0fa4b626538011fd4a"/><file name="mysql4-upgrade-0.7.6-0.7.7.php" hash="9f31ffe2d94a4610da2b65219f42cb2c"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="81747aadb709ceef438bd9005f838da3"/><file name="mysql4-upgrade-1.6.0.0-1.6.1.0.php" hash="88ba8d186737c788be142f3b1f99c732"/><file name="mysql4-upgrade-1.6.1.0-1.6.1.1.php" hash="3ae3748b58bb788c9b1aed2198689aa6"/></dir></dir></dir><dir name="Media"><dir name="Helper"><file name="Data.php" hash="26771745a6464a7198d3e593254ca53d"/></dir><dir name="Model"><dir name="File"><file name="Image.php" hash="963140ba20341c36389eb43c64d54d9b"/></dir><dir name="Image"><dir name="Config"><file name="Interface.php" hash="57b1124aa9c503223ef3f88a5a967e33"/></dir></dir><file name="Image.php" hash="ed0066b2bf423c2cefed47ddb1af4236"/></dir><dir name="etc"><file name="config.xml" hash="1f67f3dc20255bd6e3cd3280969a23a9"/></dir></dir><dir name="Newsletter"><dir name="Block"><file name="Subscribe.php" hash="449ab55028a54ca25d0839b9cfc5b0b8"/></dir><dir name="Helper"><file name="Data.php" hash="14eceb7d1f476c6d32a0bc989e25f655"/></dir><dir name="Model"><file name="Message.php" hash="3cf3c04a138a75d3d21b60aebf14e8bf"/><dir name="Mysql4"><dir name="Problem"><file name="Collection.php" hash="3d949f32e546368ff16e02e088233531"/></dir><file name="Problem.php" hash="85f0b29f8d01c7869a6b436b38b62233"/><dir name="Queue"><file name="Collection.php" hash="361b217b7fd75fe633ac97e1d665da54"/></dir><file name="Queue.php" hash="4ee1b747ca7dbffcaf84a933341b7642"/><dir name="Subscriber"><file name="Collection.php" hash="e7141e4d1f981040b525a268cfbbe0b6"/></dir><file name="Subscriber.php" hash="4d67750c55b9944f29c7c127a1630e8a"/><dir name="Template"><file name="Collection.php" hash="761c9841afb177482318503120ecf6c2"/></dir><file name="Template.php" hash="0b3568e98b4a06b9eacdd19c40e2c35b"/></dir><file name="Observer.php" hash="f01f66d03b935a633b2a47e5177e6753"/><file name="Problem.php" hash="609d83b319fccdfdd963caef0dd98b7a"/><file name="Queue.php" hash="03683875ef4fb937ac4fd7ff32cb3db7"/><dir name="Resource"><dir name="Problem"><file name="Collection.php" hash="b38f7bc74ebaa7bc00b1cc6fc7522d45"/></dir><file name="Problem.php" hash="9759f8034517091ffeff187d0f1cc143"/><dir name="Queue"><file name="Collection.php" hash="3e77b2973b1d1e9ee11b3fffa4a019e3"/></dir><file name="Queue.php" hash="d48763a0ddf55e5acce61a64c5a0e342"/><dir name="Subscriber"><file name="Collection.php" hash="fe744d0af0f83889863470f07021cc2f"/></dir><file name="Subscriber.php" hash="381627f97da58822b99c853fceea89ed"/><dir name="Template"><file name="Collection.php" hash="1d5164328ce7a03fc4425c72e2929f84"/></dir><file name="Template.php" hash="274acf2f5d0e27a4c5190061ac53f19c"/></dir><file name="Session.php" hash="9ba9110e39fe7c83ea5d3d8083a83f40"/><file name="Subscriber.php" hash="b356c4fb473c18c566204ea520ece6ab"/><dir name="Template"><file name="Filter.php" hash="bbed59b047d5680c0980dd5c2d124f36"/></dir><file name="Template.php" hash="3706ee69d89cbf54d6b84622451215e0"/></dir><dir name="controllers"><file name="ManageController.php" hash="f7829644363c4307be49d59b3a480f79"/><file name="SubscriberController.php" hash="6e44a9acf8256e118ee24fbad6f88dab"/></dir><dir name="data"><dir name="newsletter_setup"><file name="data-upgrade-1.6.0.0-1.6.0.1.php" hash="4cf6778e36701416f8c01cf7b109f145"/><file name="data-upgrade-1.6.0.1-1.6.0.2.php" hash="888b0e1cbdd1d55dee197b4d91370314"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="503ba54d7c27fa034797c32c9bd0b7dc"/><file name="config.xml" hash="3c69e269d11922d08bdeaadb6aaadb4e"/><file name="system.xml" hash="7ef3fb951e816306912826b8697a27d4"/></dir><dir name="sql"><dir name="newsletter_setup"><file name="install-1.6.0.0.php" hash="58883f3e4e4c19304b7029df9d5d5e66"/><file name="mysql4-install-0.7.0.php" hash="0c1559a857127c060b1505c3c696b8b4"/><file name="mysql4-install-0.8.0.php" hash="a1544eb72c9a919917611239ef5f1988"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="8efdcb593f2e1007738ef1c18f3d7de1"/><file name="mysql4-upgrade-0.8.0-0.8.1.php" hash="58d80ff20a72380bdff5ea6959131765"/><file name="mysql4-upgrade-0.8.1-0.8.2.php" hash="faa728001981a1495b3fdee678e16249"/><file name="mysql4-upgrade-0.8.2-0.8.3.php" hash="3593430c5b8682e42147ff755846efb2"/><file name="mysql4-upgrade-1.5.9.9-1.6.0.0.php" hash="47e0fb7b1c861432c1b2b3162ab8f9a6"/></dir></dir></dir><dir name="Oauth"><dir name="Block"><dir name="Adminhtml"><dir name="Oauth"><dir name="Admin"><dir name="Token"><file name="Grid.php" hash="42036a33467da4f42d9058ddd47ab959"/></dir><file name="Token.php" hash="e4ce330fec980d7a70e2f88403c0c66e"/></dir><dir name="Authorize"><file name="Button.php" hash="71991ce5a051162fba9687620c5290ba"/></dir><file name="Authorize.php" hash="c6bf2c6799b7198418fe9a7e9d01c683"/><dir name="AuthorizedTokens"><file name="Grid.php" hash="76a530eda3c116a423400284c20f5c9c"/></dir><file name="AuthorizedTokens.php" hash="c9d45c65803f066fa8438be651c285d8"/><dir name="Consumer"><dir name="Edit"><file name="Form.php" hash="2226a3bcda3e8c3d2388135c5472b9db"/></dir><file name="Edit.php" hash="199e0dcb4a0a490de70b964b7b5cdb9b"/><file name="Grid.php" hash="26eb0ea15a6d1d5489f314cec6f661e4"/></dir><file name="Consumer.php" hash="0312def158a954066ad38a714819ba72"/></dir></dir><dir name="Authorize"><file name="Abstract.php" hash="f353f1ba5541b14e93b2b435aca1b545"/><file name="Button.php" hash="346967facd6467c8b10af56bc79eb306"/><file name="ButtonBaseAbstract.php" hash="16c30c4c11dcca0bb6f881c5caaed97c"/></dir><file name="Authorize.php" hash="f97e5456556525395dee90320c4436ad"/><file name="AuthorizeBaseAbstract.php" hash="a465b5fb6fb39b657966057c6ccff3b9"/><dir name="Customer"><dir name="Token"><file name="List.php" hash="3ffbb0ed0553620eb7f3fbe6e9016599"/></dir></dir></dir><file name="Exception.php" hash="f4e95c4ab7bad97ff9577d33ec4ab39a"/><dir name="Helper"><file name="Data.php" hash="9ad92655975ce86bb2df598306c7ea4b"/></dir><dir name="Model"><dir name="Consumer"><dir name="Validator"><file name="KeyLength.php" hash="b4b6e8060e7d3e294f7901dc35725f49"/></dir></dir><file name="Consumer.php" hash="e25d96d06e6d8da85bf5682c52fe9c5c"/><file name="Nonce.php" hash="9769e90a4ed04e55aa61e6d4d2dc36a2"/><file name="Observer.php" hash="c74d4927d19fbddac91433efd6922bd7"/><dir name="Resource"><dir name="Consumer"><file name="Collection.php" hash="71ba2fcde335893d300a9eabcd00c837"/></dir><file name="Consumer.php" hash="fef2c17117346cdbda4a13ad1d76b398"/><dir name="Nonce"><file name="Collection.php" hash="cf540be396de9075c3faad12a0f185a7"/></dir><file name="Nonce.php" hash="1aa04099dd8af352a53941355cb637e6"/><file name="Setup.php" hash="f4e3e2147d0f2a707ba7626f64174fcb"/><dir name="Token"><file name="Collection.php" hash="9b7d966bb3eb546bca3e02e6ad926ec6"/></dir><file name="Token.php" hash="d68c2670ee4466f74bef021fd8d1d2fe"/></dir><file name="Server.php" hash="242f6708ffec74be6f3fb5a1b3344bb8"/><file name="Token.php" hash="a514038f9060a508704578c4fc7687de"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Oauth"><dir name="Admin"><file name="TokenController.php" hash="8e468113385b7a74e3839dad6c498876"/></dir><file name="AuthorizeController.php" hash="7f7733f394041f5a87571c5a8299d740"/><file name="AuthorizedTokensController.php" hash="bcbce949721b421810bde10f13a8908d"/><file name="ConsumerController.php" hash="d65a605940f42aa8ff904d0e1a15017e"/></dir></dir><file name="AuthorizeController.php" hash="911adff8b475a3da8a22adc711522c45"/><dir name="Customer"><file name="TokenController.php" hash="927ebd85e7a1c2f4d131169e4d07ab5e"/></dir><file name="InitiateController.php" hash="a1313c0315c9cf39f182b096013c3600"/><file name="TokenController.php" hash="d823cd1d366e521328961389696e6d76"/></dir><dir name="etc"><file name="adminhtml.xml" hash="14e19f6615abc0e1fa1ad599784fbd1f"/><file name="config.xml" hash="6e8262e104995201cdf1364b6f8ade1d"/><file name="system.xml" hash="6e56da8ad6bcd25048783b50946a8ee2"/></dir><dir name="sql"><dir name="oauth_setup"><file name="install-1.0.0.0.php" hash="1a04a4872f35972c93888c4ac6a3877f"/></dir></dir></dir><dir name="Page"><dir name="Block"><dir name="Html"><file name="Breadcrumbs.php" hash="76af1c2d62a351333dcf0d5b08fec99f"/><file name="CookieNotice.php" hash="d99d2a80b967fbe83f55f23ad52becb2"/><file name="Footer.php" hash="ff6f73f6b42e113499ae3b3064bb430f"/><file name="Head.php" hash="f1ec3c20a89e408bfda4d199b608800f"/><file name="Header.php" hash="b5796cf01cabb982036e16b31c3d802a"/><file name="Notices.php" hash="d73e9b23a0554aa17d65dc9fe9a41f8b"/><file name="Pager.php" hash="cb7e6e7f110b4aae632f042992f13dea"/><file name="Toplinks.php" hash="0ca598406370b7c20b701e1503de60c2"/><dir name="Topmenu"><file name="Renderer.php" hash="c7820b31bfc7f45f214e0443889ef1f9"/></dir><file name="Topmenu.php" hash="d6038fa18c19d3a1790783f1a1cdfc34"/><file name="Welcome.php" hash="e29f11ee527cf91312c1df7a1169a3ec"/><file name="Wrapper.php" hash="728d2084b2ca0112b9d19d3621f376f3"/></dir><file name="Html.php" hash="fb9c260b36a23840c073ee9a8767e994"/><dir name="Js"><file name="Cookie.php" hash="9c3b30a237707c39b54125be0c6c8b95"/><file name="Translate.php" hash="7b301f7fdc537ae8845db32933577ba7"/></dir><file name="Redirect.php" hash="9743b0e148b44690057ce8aef91c32f1"/><file name="Switch.php" hash="2813eb1fcc51fbd521f62ca8841b2503"/><dir name="Template"><file name="Container.php" hash="a47ca180b7c5fe949b77ab548a148a7a"/><dir name="Links"><file name="Block.php" hash="7a36747c24374c252232ae00d1e07e4b"/></dir><file name="Links.php" hash="209d295ad695628faf975c1366e3f70d"/></dir></dir><dir name="Helper"><file name="Data.php" hash="b3237bb0b644e30e9de83668c2c57f75"/><file name="Html.php" hash="d50c1710bf6ac9bd53637016c514736b"/><file name="Layout.php" hash="b2ab663e18bb1617a8c520b0ff87e03c"/></dir><dir name="Model"><file name="Config.php" hash="ce257767900549bccb75fbac14b14b0b"/><dir name="Source"><file name="Layout.php" hash="498643f03bf27d411a95c1885970b4cb"/></dir></dir><dir name="etc"><file name="config.xml" hash="1e437f497da55c56e92332739548ffd6"/><file name="system.xml" hash="35f4c6faed23af9b665de3933c674820"/></dir></dir><dir name="PageCache"><dir name="Block"><dir name="Adminhtml"><dir name="Cache"><file name="Additional.php" hash="3dba80fb53e5a4e05ab038242a5062a6"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="82b38eb4d6f3326dced9558236f05b84"/></dir><dir name="Model"><dir name="Control"><file name="Interface.php" hash="32465287fd5ad49a5373b2f49c6d7787"/><file name="Zend.php" hash="ae15c24b95b8a22abb718c2615d1501a"/></dir><file name="Observer.php" hash="1cc8787360b74db204bc992a9961a810"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Controls.php" hash="da7eb2b87b1c384efa2acab229a831e0"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="PageCacheController.php" hash="8253cb13731f25fdc7054db569def5de"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="cf82072d1f673dd4f2cb8298d944b06a"/><file name="config.xml" hash="c4fc5364d36f687cf8ae0c9ebfcd5d07"/><file name="system.xml" hash="d8f45c4bac9d0d1f705c6bcd46c2ca57"/></dir></dir><dir name="Paygate"><dir name="Block"><dir name="Authorizenet"><dir name="Form"><file name="Cc.php" hash="3a748028fe3f5b5d5f066c448f419fba"/></dir><dir name="Info"><file name="Cc.php" hash="a78355ba5a73bc8f26fccf2373cc2ae9"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="e9561c30aa2df8e942f466c827656736"/></dir><dir name="Model"><dir name="Authorizenet"><file name="Cards.php" hash="668c87965a89ec7ad2aa5fd30cdc4ca3"/><file name="Debug.php" hash="8618355606cd3814e802dc10c700b41c"/><file name="Request.php" hash="c1f4b4089359478b40a1b6a9e23351c2"/><file name="Result.php" hash="bf8a7bbce2821c12d49cbf7984d23b99"/><dir name="Source"><file name="Cctype.php" hash="71c90de1db4b2238bc322349f070730c"/><file name="PaymentAction.php" hash="83e8c00869bf0234049555f0f22c8ebe"/></dir></dir><file name="Authorizenet.php" hash="3b79d254814dcb1a5ff8815ea38594a1"/><dir name="Mysql4"><dir name="Authorizenet"><dir name="Debug"><file name="Collection.php" hash="213ce4998f43bc900c8df45cfd5100a3"/></dir><file name="Debug.php" hash="b25abe86de7da9d31b0e6e2fbebca46e"/></dir></dir><dir name="Resource"><dir name="Authorizenet"><dir name="Debug"><file name="Collection.php" hash="96579efd296c9747bc69ddb93563c7c7"/></dir><file name="Debug.php" hash="8b16f0e8c62f27c974a630174b445e9e"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Paygate"><dir name="Authorizenet"><file name="PaymentController.php" hash="0786c25427d18f4c42d7e0dbeeecce44"/></dir></dir></dir><dir name="Authorizenet"><file name="PaymentController.php" hash="cba52139f51e9c6036da7a9d43000559"/></dir></dir><dir name="etc"><file name="config.xml" hash="7d9c108a4f7461e38e453595ae99e166"/><file name="system.xml" hash="4c7ad997873f413974b8d7acda17fe00"/></dir><dir name="sql"><dir name="paygate_setup"><file name="install-1.6.0.0.php" hash="b42125deb1bb3e94a0b964bce550a2db"/><file name="mysql4-data-upgrade-0.7.0-0.7.1.php" hash="4f22fe3689b223adc5818e70691f671c"/><file name="mysql4-install-0.7.0.php" hash="3e2e04f85dfdf7b9fa7697904035e86e"/><file name="mysql4-upgrade-0.7.0-0.7.1.php" hash="48c76ca9ce36054b194288542f4bbd25"/></dir></dir></dir><dir name="Payment"><dir name="Block"><dir name="Catalog"><dir name="Product"><dir name="View"><file name="Profile.php" hash="4cbf4eb8350c8a40f01970c7960122de"/></dir></dir></dir><dir name="Form"><file name="Banktransfer.php" hash="ca8b755ddb73aeb8b2f35b9f75338a0f"/><file name="Cashondelivery.php" hash="ff169ed043cc386faf01e8fe15bf3022"/><file name="Cc.php" hash="2389f3a83069e0643b4e750ba4e8e44f"/><file name="Ccsave.php" hash="5ff8d24e9e6a4297b8e4f687368da407"/><file name="Checkmo.php" hash="bdc8bb2c6ba10b7e9957e8e521e90c12"/><file name="Container.php" hash="cec07bf2ca7b4b2bb3a0baa0ffb9f2c1"/><file name="Purchaseorder.php" hash="137da51f5fde7f115c2a85a5b36990a4"/></dir><file name="Form.php" hash="dd368566c7eb6919ad947e78cbe1859e"/><dir name="Info"><file name="Banktransfer.php" hash="ecf02d9d5721675e2975d7dfec284403"/><file name="Cc.php" hash="99dc5f4df2287ab2c22bdc58542f074b"/><file name="Ccsave.php" hash="082a31b849bbb55a59190e02893a75d5"/><file name="Checkmo.php" hash="64b822848cc97dcd27bd0bd3f01e1656"/><file name="Container.php" hash="2ee3f38b5cd1f6fa43b95a858d921708"/><file name="Purchaseorder.php" hash="0fe351afef830b891f9bfb105c44d030"/></dir><file name="Info.php" hash="f71e6f15698f402e9189ca9e5bc670b4"/></dir><file name="Exception.php" hash="beb2d8551ade49853e5437659b614c6c"/><dir name="Helper"><file name="Data.php" hash="7b268b8060a3e70aa39971ef7258a253"/></dir><dir name="Model"><dir name="Billing"><dir name="Agreement"><file name="MethodInterface.php" hash="424553e9cc4fe2fa6befb6401bcf1006"/></dir><file name="AgreementAbstract.php" hash="4043c168c28cfb9a86f15bdde1aa4f33"/></dir><file name="Config.php" hash="195db58e611647682704767e965799e9"/><dir name="Info"><file name="Exception.php" hash="fc52e6ca869415f8a26d7f36a5752f60"/></dir><file name="Info.php" hash="38f6883ca27e92501ca87f8c5310c983"/><dir name="Method"><file name="Abstract.php" hash="7fcbd59cc63e90c83a8ac304b21fb959"/><file name="Banktransfer.php" hash="fb540e43ac0f7fd3bd1635e4762fdbd4"/><file name="Cashondelivery.php" hash="b09ee08f6805fbef82daed86b26548d4"/><file name="Cc.php" hash="84f1de4c65ee35656911a740549912a1"/><file name="Ccsave.php" hash="6df7df82d30724aacb47c6447cb1fcac"/><file name="Checkmo.php" hash="20737ca73dc12889ac107605ec7d27ca"/><file name="Free.php" hash="0b771056ddecea00184fe0c141550e47"/><file name="Purchaseorder.php" hash="a7b2b57eb818f50e3508c7838ad211be"/></dir><file name="Observer.php" hash="d6337e367754f1da2328f9907c9a17e6"/><dir name="Paygate"><file name="Request.php" hash="86a6803dfe434c5d7afc2fd7b27cc3db"/><file name="Result.php" hash="4f715aa54c36a891099828332fc68aee"/></dir><dir name="Recurring"><dir name="Profile"><file name="MethodInterface.php" hash="d434add969bedb69762a5be4866f54d3"/></dir><file name="Profile.php" hash="f07c2863b3b89472e76678fca27cdf0c"/></dir><dir name="Source"><file name="Cctype.php" hash="8941383914fc870894a525c394311e10"/><file name="Invoice.php" hash="bbb8f9293ea7928c47007f7c05066b63"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="7a5adf8c1263e48cf2f9071c5195ee2a"/><file name="config.xml" hash="74b9d5cb7149617310b34c1f59542126"/><file name="system.xml" hash="adcf3b2b91219f1f5526b0f70849f65c"/></dir></dir><dir name="Paypal"><dir name="Block"><dir name="Adminhtml"><dir name="Settlement"><dir name="Details"><file name="Form.php" hash="7a5470652fc38ab2c5918a16becdf54f"/></dir><file name="Details.php" hash="49132e87516ed2cd05aa80f7a4afbcb2"/><dir name="Report"><file name="Grid.php" hash="3e6dda1e1a4aadbd6007772f17cd35dc"/></dir><file name="Report.php" hash="c3104724d674c1317dc23146436dc33e"/></dir><dir name="System"><dir name="Config"><file name="ApiWizard.php" hash="237edd4428f23a4d0824161159031907"/><file name="BmlApiWizard.php" hash="0d02c63e9dcd5d8f92abbf6a7435e9d2"/><dir name="Field"><file name="Country.php" hash="194bfb6c4fd11f9eedaa2df850a243ba"/><file name="Hidden.php" hash="fc1085a05c3570cc1345d82bc6f46153"/><file name="SolutionType.php" hash="c199b755054bed63b98bcfe870ee24c3"/></dir><dir name="Fieldset"><file name="Deprecated.php" hash="75ccac6c4a42d1d89bd4453afc5d7936"/><file name="Expanded.php" hash="f6979eb0dec53d903b255cb81fa64e7d"/><file name="Global.php" hash="b243db32fddae60eda87b9cf8615983d"/><file name="Group.php" hash="8fc7543ec871e4bc58965ec050f19f9d"/><file name="Hint.php" hash="849288a88f8ecff4c66bd9b7f39f5f73"/><file name="Location.php" hash="6bed7b43656d2201e15fed7c4ee91372"/><file name="PathDependent.php" hash="e4a8685376fa5318336d2285b727cb6d"/><file name="Payment.php" hash="202f147418cb85a3d895f96b76eeb412"/><file name="Store.php" hash="8cf7dfe2261b400034ab9e8d45b31e49"/></dir><dir name="Payflowlink"><file name="Advanced.php" hash="dbb8abc9fc791cd9e4f9d8b0db1a5799"/><file name="Info.php" hash="0b570584ebe08a45704445fb84b7e64d"/></dir></dir></dir></dir><dir name="Bml"><file name="Banners.php" hash="9ce71c3a54451fd06f8a58d6dfa94774"/><file name="Form.php" hash="8861e608e012ad0d129cbaacce543fa4"/></dir><dir name="Express"><file name="Form.php" hash="2dfe96f6ec89fa9cc6efba0d71efcb27"/><dir name="Review"><file name="Billing.php" hash="f87c07fbe423ba3cfbae38b0359f8e9d"/><file name="Details.php" hash="41e9c8426c47365611cfdd8c2cba6537"/><file name="Shipping.php" hash="87ab76371ff5d8cf3cff2adf2d864347"/></dir><file name="Review.php" hash="1b9840c465a17813701faf8c4307315f"/><file name="Shortcut.php" hash="fd29062b729328ca291f45c5ad541773"/></dir><dir name="Hosted"><dir name="Pro"><file name="Form.php" hash="fb0a5f67251cc199cd8ce40b4e543003"/><file name="Iframe.php" hash="6ad033d68b559ae0eeb0f4ce580368aa"/><file name="Info.php" hash="88de1e67a4cf09a19b18db35594e2f83"/></dir></dir><file name="Iframe.php" hash="130b950fb3db789617577e253f44d0d4"/><file name="Logo.php" hash="01ad9e06cf747d11e56fb1232191fa97"/><dir name="Payflow"><dir name="Advanced"><file name="Form.php" hash="e27e11120227c4317975d53d6ec87a07"/><file name="Iframe.php" hash="dbdcf942fcca65ce33275ec2546c4cfc"/><file name="Info.php" hash="c653c07418e1b95851a35dfa6167c703"/><file name="Review.php" hash="fc88e4f21988be8c6df7d6061c305c40"/></dir><dir name="Link"><file name="Form.php" hash="3aa3d74747d840e18d4573e68c7a7986"/><file name="Iframe.php" hash="da1e91b2b849623f4b12bd7f64bcbd04"/><file name="Info.php" hash="a0870dd47d4228d2d425e4a3f5f27f2e"/><file name="Review.php" hash="13c8891d5e0cefda15c57b6e402bf6ff"/></dir></dir><dir name="Payment"><file name="Info.php" hash="7f2d80e99718b0c94a08347d73a64da4"/></dir><dir name="Standard"><file name="Form.php" hash="d4bd08c533fe4c4db3daab3bf9360860"/><file name="Redirect.php" hash="36d3646e7d3e4013847ff219e3f9e3db"/></dir></dir><dir name="Controller"><dir name="Express"><file name="Abstract.php" hash="4695d1fac56793866c282316b3d33917"/></dir></dir><file name="Exception.php" hash="7dee8f2f62ac73a1c4e25b12fb85a3fb"/><dir name="Helper"><file name="Checkout.php" hash="f71e0d44157c5c7c710f768317a418b0"/><file name="Data.php" hash="0e4a617f7985832bca600b52de577278"/><file name="Hss.php" hash="1643e958dd97f7b024e5412d82e0de3c"/></dir><dir name="Model"><dir name="Api"><file name="Abstract.php" hash="5c289e9731993409f86cee3b2919f4a8"/><file name="Nvp.php" hash="d62ad239a8f1ceb38f1dad77986f40d6"/><file name="ProcessableException.php" hash="4313e637008571be2bd2d86f6a560112"/><file name="Standard.php" hash="986fd1dec22bc55cb84ecf75c7bc3729"/></dir><file name="Bml.php" hash="ac3c55752b8eb272c9481fc11521bb0b"/><file name="Cart.php" hash="d6979cb0fe3174d7d70bbf26474b3a16"/><file name="Cert.php" hash="8b23417ca6e231a0ec8f89a6e769f01e"/><file name="Config.php" hash="d356e412f4eca6207004674303791ad6"/><file name="Direct.php" hash="04692b3598ead300783c59dc664e5ad5"/><dir name="Express"><file name="Checkout.php" hash="ad1ee11ffcf63815cea1c988f8679697"/></dir><file name="Express.php" hash="553e93873ac88d39e98b5a01ef0e26f2"/><dir name="Hostedpro"><file name="Request.php" hash="4aaa99812f8ba31c0e2aee9c18d68671"/></dir><file name="Hostedpro.php" hash="14ae27c0f8a9d9c2ec1525ec9b06be7c"/><file name="Info.php" hash="31e9a1d2d63b0d826079a4c74a4779d2"/><file name="Ipn.php" hash="5a216c988a5b749bcda
|