Version Notes
Supported Magento 1.5.0.0 - 1.7.x, Magento Enterprise 1.8-1.12.x
Download this release
Release Info
Developer | Exactor, Inc. |
Extension | Mage_Exactor_Tax |
Version | 2015.03.31 |
Comparing to | |
See all releases |
Code changes from version 2014.12.15 to 2015.03.31
- app/code/local/ZzzzzExactor/Sales/Model/Observer.php +3 -0
- app/code/local/ZzzzzExactor/Tax/Helper/Mapping.php +55 -2
- app/code/local/ZzzzzExactor/Tax/Model/Sales/Total/Quote/Tax.php +3 -0
- lib/ExactorCommons/ExactorCommons.php +31 -14
- lib/ExactorCommons/Magento.php +23 -10
- lib/ExactorCommons/config.php +1 -1
- package.xml +4 -4
app/code/local/ZzzzzExactor/Sales/Model/Observer.php
CHANGED
@@ -357,6 +357,9 @@ class ZzzzzExactor_Sales_Model_Observer
|
|
357 |
*/
|
358 |
private function applyTaxPercent($quoteItem, $resultItem)
|
359 |
{
|
|
|
|
|
|
|
360 |
$taxPercent = 0;
|
361 |
foreach ($resultItem->getTaxInfo() as $taxInfo) {
|
362 |
$taxPercent += $taxInfo->getTaxRate();
|
357 |
*/
|
358 |
private function applyTaxPercent($quoteItem, $resultItem)
|
359 |
{
|
360 |
+
if (!$resultItem->getTaxInfo()) {
|
361 |
+
return;
|
362 |
+
}
|
363 |
$taxPercent = 0;
|
364 |
foreach ($resultItem->getTaxInfo() as $taxInfo) {
|
365 |
$taxPercent += $taxInfo->getTaxRate();
|
app/code/local/ZzzzzExactor/Tax/Helper/Mapping.php
CHANGED
@@ -436,12 +436,13 @@ class ZzzzzExactor_Tax_Helper_Mapping extends Mage_Core_Helper_Abstract
|
|
436 |
if (!$this->isDiscountExempt($magentoItem)) {
|
437 |
$this->applyDiscountToLineItem($lineItem, $magentoItem->getDiscountAmount());
|
438 |
}
|
439 |
-
// Check if it is bundle or
|
440 |
$product = $magentoItem->getProduct();
|
441 |
if (empty($product) && $magentoItem->getOrderItem() != null) {
|
442 |
$product = $magentoItem->getOrderItem()->getProduct();
|
443 |
}
|
444 |
-
|
|
|
445 |
$product = Mage::getModel('catalog/product')
|
446 |
->setStoreId($magentoItem->getStoreId())
|
447 |
->load($magentoItem->getProductId());
|
@@ -453,6 +454,11 @@ class ZzzzzExactor_Tax_Helper_Mapping extends Mage_Core_Helper_Abstract
|
|
453 |
return null; // Doesn't show it in the Exactor transaction.
|
454 |
}
|
455 |
}
|
|
|
|
|
|
|
|
|
|
|
456 |
return $lineItem;
|
457 |
}
|
458 |
|
@@ -969,4 +975,51 @@ class ZzzzzExactor_Tax_Helper_Mapping extends Mage_Core_Helper_Abstract
|
|
969 |
return $this->isAddessFullyPopulated($invoice->getShipTo());
|
970 |
//&& $this->isAddessFullyPopulated($invoice->getBillTo());
|
971 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
972 |
}
|
436 |
if (!$this->isDiscountExempt($magentoItem)) {
|
437 |
$this->applyDiscountToLineItem($lineItem, $magentoItem->getDiscountAmount());
|
438 |
}
|
439 |
+
// Check if it is bundle or grouped product
|
440 |
$product = $magentoItem->getProduct();
|
441 |
if (empty($product) && $magentoItem->getOrderItem() != null) {
|
442 |
$product = $magentoItem->getOrderItem()->getProduct();
|
443 |
}
|
444 |
+
$isSfcDropshipCommerceModuleEnabled = $this->isSfcDropshipCommerceModuleEnabled();
|
445 |
+
if ($magentoItem->getProductId() != null && (empty($product) || $isSfcDropshipCommerceModuleEnabled)) {
|
446 |
$product = Mage::getModel('catalog/product')
|
447 |
->setStoreId($magentoItem->getStoreId())
|
448 |
->load($magentoItem->getProductId());
|
454 |
return null; // Doesn't show it in the Exactor transaction.
|
455 |
}
|
456 |
}
|
457 |
+
|
458 |
+
if ($isSfcDropshipCommerceModuleEnabled) {
|
459 |
+
$lineItem->setShipFrom($this->buildExactorAddressForProductShipFrom($product));
|
460 |
+
}
|
461 |
+
|
462 |
return $lineItem;
|
463 |
}
|
464 |
|
975 |
return $this->isAddessFullyPopulated($invoice->getShipTo());
|
976 |
//&& $this->isAddessFullyPopulated($invoice->getBillTo());
|
977 |
}
|
978 |
+
|
979 |
+
//region SFC_DropshipCommerce related methods
|
980 |
+
/**
|
981 |
+
* Designed to be used in getSupplierShipFromAddress only. Represents supplier address per request cache.
|
982 |
+
* @var array {supplierId(int):shipFrom(AddressType)}
|
983 |
+
*/
|
984 |
+
private $supplierCache = array();
|
985 |
+
|
986 |
+
private function getSupplierShipFromAddress($supplierId)
|
987 |
+
{
|
988 |
+
if (array_key_exists($supplierId, $this->supplierCache)) {
|
989 |
+
return $this->supplierCache[$supplierId];
|
990 |
+
}
|
991 |
+
/** @var SFC_DropshipCommerce_Model_Supplier $supplier */
|
992 |
+
$supplier = Mage::getModel('dropshipcommerce/supplier')->load($supplierId);
|
993 |
+
$shipFrom = $this->buildExactorAddressForSupplier($supplier);
|
994 |
+
$this->supplierCache[$supplierId] = $shipFrom;
|
995 |
+
return $shipFrom;
|
996 |
+
}
|
997 |
+
|
998 |
+
/**
|
999 |
+
* @param Mage_Catalog_Model_Product $product
|
1000 |
+
* @return AddressType|null
|
1001 |
+
*/
|
1002 |
+
private function buildExactorAddressForProductShipFrom($product)
|
1003 |
+
{
|
1004 |
+
if ($product == null) return null;
|
1005 |
+
$exactorAddress = new AddressType();
|
1006 |
+
$exactorAddress->setFullName($product->getData('ship_from_attention'));
|
1007 |
+
$exactorAddress->setStreet1($product->getData('ship_from_address_1'));
|
1008 |
+
$exactorAddress->setStreet2($product->getData('ship_from_address_2'));
|
1009 |
+
$exactorAddress->setCity($product->getData('ship_from_city'));
|
1010 |
+
$exactorAddress->setStateOrProvince($product->getData('ship_from_state'));
|
1011 |
+
$exactorAddress->setPostalCode($product->getData('ship_from_postal_code'));
|
1012 |
+
$exactorAddress->setCountry($product->getData('ship_from_country'));
|
1013 |
+
if (!$exactorAddress->hasData()) return null;
|
1014 |
+
return $exactorAddress;
|
1015 |
+
}
|
1016 |
+
|
1017 |
+
/**
|
1018 |
+
* @return bool true if SFC_DropshipCommerce module enabled, false otherwise
|
1019 |
+
*/
|
1020 |
+
private function isSfcDropshipCommerceModuleEnabled()
|
1021 |
+
{
|
1022 |
+
return Mage::helper('core')->isModuleEnabled('SFC_DropshipCommerce');
|
1023 |
+
}
|
1024 |
+
//endregion
|
1025 |
}
|
app/code/local/ZzzzzExactor/Tax/Model/Sales/Total/Quote/Tax.php
CHANGED
@@ -252,6 +252,9 @@ class ZzzzzExactor_Tax_Model_Sales_Total_Quote_Tax extends Mage_Sales_Model_Quot
|
|
252 |
*/
|
253 |
private function applyTaxPercent($quoteItem, $resultItem)
|
254 |
{
|
|
|
|
|
|
|
255 |
$taxPercent = 0;
|
256 |
foreach ($resultItem->getTaxInfo() as $taxInfo) {
|
257 |
$taxPercent += $taxInfo->getTaxRate();
|
252 |
*/
|
253 |
private function applyTaxPercent($quoteItem, $resultItem)
|
254 |
{
|
255 |
+
if (!$resultItem->getTaxInfo()) {
|
256 |
+
return;
|
257 |
+
}
|
258 |
$taxPercent = 0;
|
259 |
foreach ($resultItem->getTaxInfo() as $taxInfo) {
|
260 |
$taxPercent += $taxInfo->getTaxRate();
|
lib/ExactorCommons/ExactorCommons.php
CHANGED
@@ -6,7 +6,8 @@
|
|
6 |
* Time: 5:33 PM
|
7 |
*/
|
8 |
|
9 |
-
abstract class IExactorLogger
|
|
|
10 |
|
11 |
const TRACE = 0;
|
12 |
const DEBUG = 1;
|
@@ -15,32 +16,48 @@ abstract class IExactorLogger{
|
|
15 |
|
16 |
private $logLevel = self::INFO;
|
17 |
private $loggerName = 'root';
|
18 |
-
protected abstract function doOutput($body);
|
19 |
|
20 |
-
|
|
|
|
|
|
|
21 |
|
22 |
// Check if we should just skip this message on our Log Level
|
23 |
if ($level < $this->getLogLevel()) return;
|
24 |
|
25 |
-
if ($callee==null)
|
26 |
$callee = '';
|
27 |
-
$
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
}
|
30 |
|
31 |
-
public function debug($msg, $callee=null)
|
|
|
32 |
$this->log($msg, $callee, self::DEBUG);
|
33 |
}
|
34 |
|
35 |
-
public function trace($msg, $callee=null)
|
|
|
36 |
$this->log($msg, $callee, self::TRACE);
|
37 |
}
|
38 |
|
39 |
-
public function info($msg, $callee=null)
|
|
|
40 |
$this->log($msg, $callee, self::INFO);
|
41 |
}
|
42 |
|
43 |
-
public function error($msg, $callee=null)
|
|
|
44 |
$this->log($msg, $callee, self::ERROR);
|
45 |
}
|
46 |
|
@@ -56,7 +73,7 @@ abstract class IExactorLogger{
|
|
56 |
|
57 |
public function setLoggerName($loggerName)
|
58 |
{
|
59 |
-
if (!is_string($loggerName)){ // This is not class name
|
60 |
$loggerName = get_class($loggerName); // Get class name
|
61 |
}
|
62 |
$this->loggerName = $loggerName;
|
@@ -68,12 +85,12 @@ abstract class IExactorLogger{
|
|
68 |
}
|
69 |
}
|
70 |
|
71 |
-
class ExactorFakeLogger extends IExactorLogger
|
72 |
-
|
|
|
73 |
{
|
74 |
// Just do nothing
|
75 |
}
|
76 |
-
|
77 |
}
|
78 |
|
79 |
class ExactorLoggingFactory{
|
6 |
* Time: 5:33 PM
|
7 |
*/
|
8 |
|
9 |
+
abstract class IExactorLogger
|
10 |
+
{
|
11 |
|
12 |
const TRACE = 0;
|
13 |
const DEBUG = 1;
|
16 |
|
17 |
private $logLevel = self::INFO;
|
18 |
private $loggerName = 'root';
|
|
|
19 |
|
20 |
+
protected abstract function doOutput($message, $callee, $level, $time);
|
21 |
+
|
22 |
+
public function log($message, $callee = null, $level = self::DEBUG)
|
23 |
+
{
|
24 |
|
25 |
// Check if we should just skip this message on our Log Level
|
26 |
if ($level < $this->getLogLevel()) return;
|
27 |
|
28 |
+
if ($callee == null)
|
29 |
$callee = '';
|
30 |
+
$this->doOutput($message, $callee, $level, new DateTime());
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* @param $message string
|
35 |
+
* @param $callee string
|
36 |
+
* @param $time DateTime
|
37 |
+
* @return string in default log format
|
38 |
+
*/
|
39 |
+
protected function format($message, $callee, $time)
|
40 |
+
{
|
41 |
+
return '[' . $time->format('Y-m-d H:i:s') . '] ' . $this->getLoggerName() . ' - ' . $callee . ': ' . $message . "\n";
|
42 |
}
|
43 |
|
44 |
+
public function debug($msg, $callee = null)
|
45 |
+
{
|
46 |
$this->log($msg, $callee, self::DEBUG);
|
47 |
}
|
48 |
|
49 |
+
public function trace($msg, $callee = null)
|
50 |
+
{
|
51 |
$this->log($msg, $callee, self::TRACE);
|
52 |
}
|
53 |
|
54 |
+
public function info($msg, $callee = null)
|
55 |
+
{
|
56 |
$this->log($msg, $callee, self::INFO);
|
57 |
}
|
58 |
|
59 |
+
public function error($msg, $callee = null)
|
60 |
+
{
|
61 |
$this->log($msg, $callee, self::ERROR);
|
62 |
}
|
63 |
|
73 |
|
74 |
public function setLoggerName($loggerName)
|
75 |
{
|
76 |
+
if (!is_string($loggerName)) { // This is not class name
|
77 |
$loggerName = get_class($loggerName); // Get class name
|
78 |
}
|
79 |
$this->loggerName = $loggerName;
|
85 |
}
|
86 |
}
|
87 |
|
88 |
+
class ExactorFakeLogger extends IExactorLogger
|
89 |
+
{
|
90 |
+
protected function doOutput($message, $callee, $level, $time)
|
91 |
{
|
92 |
// Just do nothing
|
93 |
}
|
|
|
94 |
}
|
95 |
|
96 |
class ExactorLoggingFactory{
|
lib/ExactorCommons/Magento.php
CHANGED
@@ -1,18 +1,30 @@
|
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* User: LOGICIFY\corvis
|
4 |
* Date: 4/20/12
|
5 |
* Time: 10:39 AM
|
6 |
*/
|
7 |
-
|
8 |
-
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
{
|
11 |
-
|
|
|
|
|
|
|
12 |
}
|
13 |
}
|
14 |
|
15 |
-
class MagentoExactorCallback extends IExactorPluginCallback
|
|
|
16 |
|
17 |
private $logger;
|
18 |
/**
|
@@ -20,7 +32,8 @@ class MagentoExactorCallback extends IExactorPluginCallback{
|
|
20 |
*/
|
21 |
private $sessionCache;
|
22 |
|
23 |
-
public function __construct()
|
|
|
24 |
$this->logger = ExactorLoggingFactory::getInstance()->getLogger($this);
|
25 |
$this->sessionCache = Mage::helper('ZzzzzExactor_Core_SessionCache/');
|
26 |
}
|
@@ -34,9 +47,9 @@ class MagentoExactorCallback extends IExactorPluginCallback{
|
|
34 |
function loadTransactionInfo($shoppingCartTrnId)
|
35 |
{
|
36 |
$this->logger->trace('called', 'loadTransactionInfo');
|
37 |
-
/** @var ZzzzzExactor_Core_Model_ExactorTransaction $exatorTransaction
|
38 |
$exatorTransaction = Mage::getModel('ZzzzzExactor_Core_Model_ExactorTransaction');
|
39 |
-
$exatorTransaction = $exatorTransaction->getCollection()->addFilter("OrderID"
|
40 |
if (!$exatorTransaction->hasData()) return null;
|
41 |
// Populating common object with DB dat
|
42 |
$transactionInfo = new ExactorTransactionInfo();
|
@@ -61,10 +74,10 @@ class MagentoExactorCallback extends IExactorPluginCallback{
|
|
61 |
function saveTransactionInfo(ExactorTransactionInfo $transactionInfo, $requestKey)
|
62 |
{
|
63 |
$this->logger->trace('called', 'saveTransactionInfo');
|
64 |
-
/** @var ZzzzzExactor_Core_Model_ExactorTransaction $exatorTransaction
|
65 |
$exatorTransaction = Mage::getModel('ZzzzzExactor_Core_Model_ExactorTransaction');
|
66 |
$exatorTransaction = $exatorTransaction->getCollection()
|
67 |
-
|
68 |
if (!$exatorTransaction->hasData()) $exatorTransaction = Mage::getModel('ZzzzzExactor_Core_Model_ExactorTransaction');
|
69 |
|
70 |
$transactionInfo->setSignature($requestKey);
|
1 |
<?php
|
2 |
+
|
3 |
/**
|
4 |
* User: LOGICIFY\corvis
|
5 |
* Date: 4/20/12
|
6 |
* Time: 10:39 AM
|
7 |
*/
|
8 |
+
class MagentoLogger extends IExactorLogger
|
9 |
+
{
|
10 |
+
private static $severity_mapping = array(
|
11 |
+
self::TRACE => Zend_Log::DEBUG,
|
12 |
+
self::DEBUG => Zend_Log::DEBUG,
|
13 |
+
self::INFO => Zend_Log::INFO,
|
14 |
+
self::ERROR => Zend_Log::ERR
|
15 |
+
);
|
16 |
+
|
17 |
+
protected function doOutput($message, $callee, $level, $time)
|
18 |
{
|
19 |
+
if ($callee) {
|
20 |
+
$callee = ' - ' . $callee;
|
21 |
+
}
|
22 |
+
Mage::Log($this->getLoggerName() . $callee . ': ' . $message, self::$severity_mapping[$level], "exactor.log");
|
23 |
}
|
24 |
}
|
25 |
|
26 |
+
class MagentoExactorCallback extends IExactorPluginCallback
|
27 |
+
{
|
28 |
|
29 |
private $logger;
|
30 |
/**
|
32 |
*/
|
33 |
private $sessionCache;
|
34 |
|
35 |
+
public function __construct()
|
36 |
+
{
|
37 |
$this->logger = ExactorLoggingFactory::getInstance()->getLogger($this);
|
38 |
$this->sessionCache = Mage::helper('ZzzzzExactor_Core_SessionCache/');
|
39 |
}
|
47 |
function loadTransactionInfo($shoppingCartTrnId)
|
48 |
{
|
49 |
$this->logger->trace('called', 'loadTransactionInfo');
|
50 |
+
/** @var ZzzzzExactor_Core_Model_ExactorTransaction $exatorTransaction */
|
51 |
$exatorTransaction = Mage::getModel('ZzzzzExactor_Core_Model_ExactorTransaction');
|
52 |
+
$exatorTransaction = $exatorTransaction->getCollection()->addFilter("OrderID", $shoppingCartTrnId)->getFirstItem();
|
53 |
if (!$exatorTransaction->hasData()) return null;
|
54 |
// Populating common object with DB dat
|
55 |
$transactionInfo = new ExactorTransactionInfo();
|
74 |
function saveTransactionInfo(ExactorTransactionInfo $transactionInfo, $requestKey)
|
75 |
{
|
76 |
$this->logger->trace('called', 'saveTransactionInfo');
|
77 |
+
/** @var ZzzzzExactor_Core_Model_ExactorTransaction $exatorTransaction */
|
78 |
$exatorTransaction = Mage::getModel('ZzzzzExactor_Core_Model_ExactorTransaction');
|
79 |
$exatorTransaction = $exatorTransaction->getCollection()
|
80 |
+
->addFilter("OrderID", $transactionInfo->getShoppingCartTrnId())->getFirstItem();
|
81 |
if (!$exatorTransaction->hasData()) $exatorTransaction = Mage::getModel('ZzzzzExactor_Core_Model_ExactorTransaction');
|
82 |
|
83 |
$transactionInfo->setSignature($requestKey);
|
lib/ExactorCommons/config.php
CHANGED
@@ -23,7 +23,7 @@ define('EXACTOR_CONFIG_ALWAYS_OVERRIDE_TAX', 'always-override-tax');
|
|
23 |
|
24 |
/* Initializing factories */
|
25 |
ExactorLoggingFactory::getInstance()->setup('MagentoLogger', IExactorLogger::DEBUG);
|
26 |
-
ExactorConnectionFactory::getInstance()->setup('Magento','
|
27 |
ExactorProcessingServiceFactory::getInstance()->setup(new MagentoExactorCallback());
|
28 |
|
29 |
/* Initializing configuration object */
|
23 |
|
24 |
/* Initializing factories */
|
25 |
ExactorLoggingFactory::getInstance()->setup('MagentoLogger', IExactorLogger::DEBUG);
|
26 |
+
ExactorConnectionFactory::getInstance()->setup('Magento','20150331');
|
27 |
ExactorProcessingServiceFactory::getInstance()->setup(new MagentoExactorCallback());
|
28 |
|
29 |
/* Initializing configuration object */
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Mage_Exactor_Tax</name>
|
4 |
-
<version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
7 |
<channel>community</channel>
|
@@ -12,9 +12,9 @@ Once installed, neither the merchant, nor the customer, need to perform any addi
|
|
12 |
For additional information, please refer to the Exactor Magento User Guide that is attached to the plug-in, or which you can download directly from the Exactor control panel (navigate to Account Management Integration Points & PlugIns).</description>
|
13 |
<notes>Supported Magento 1.5.0.0 - 1.7.x, Magento Enterprise 1.8-1.12.x</notes>
|
14 |
<authors><author><name>Exactor, Inc.</name><user>exactor</user><email>support@exactor.com</email></author></authors>
|
15 |
-
<date>
|
16 |
-
<time>
|
17 |
-
<contents><target name="magelocal"><dir name="ZzzzzExactor"><dir name="Core"><dir name="Helper"><file name="SessionCache.php" hash="4a48ea63099201bc04581febe21b7237"/></dir><dir name="Model"><file name="ExactorTransaction.php" hash="aee2205ef1e8b58fe8fead7385af2fdd"/><file name="MerchantSettings.php" hash="b58bcf01d15af966358aa1e0f27b9fbe"/><dir name="Mysql4"><dir name="ExactorTransaction"><file name="Collection.php" hash="5078855300f1b8895c5429fb10f37854"/></dir><file name="ExactorTransaction.php" hash="4b8f45cc739ac05b71be3f38c0138109"/><dir name="MerchantSettings"><file name="Collection.php" hash="4c7e905444d9f02c1e82033cd147afc5"/></dir><file name="MerchantSettings.php" hash="fd98ded15c7dde7bcc1746a40c24aa85"/></dir><dir name="Type"><file name="Onepage.php" hash="8c9c744d769f4064dcc344d4d474dd2a"/></dir></dir><dir name="etc"><file name="config.xml" hash="654bd7d22e5a308722d8769a1233ad80"/></dir></dir><dir name="ExactorSettings"><dir name="Block"><file name="Form.php" hash="3189371ce1fca8f2ff72b165da762e2e"/></dir><dir name="Helper"><file name="Data.php" hash="08ff0be3da068e35731d5cbcb5ca031d"/><file name="VersionResolver.php" hash="e05646123b776551295cdc1050eb80a0"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="FormController.php" hash="83e0faaffe8a93e4fbccf9e0c0b4914f"/></dir><file name="AjaxController.php" hash="e0a9122472eebdf2ba9d703b35e528e6"/><file name="IndexController.php" hash="064275cda39bf28a23f0e30cda85d546"/></dir><dir name="etc"><file name="config.xml" hash="63ed7c63ac663fa72b1a645275499c34"/></dir><dir name="sql"><dir name="ExactorSettings_setup"><file name="mysql4-install-14.04.2012.php" hash="171dcba8395c21dccd336c86cd92db5d"/><file name="upgrade-2012.06.14-2012.09.25.php" hash="217c13f3fecf41decff7f0cbc908f0f8"/></dir></dir></dir><dir name="Sales"><dir name="Model"><file name="Observer.php" hash="
|
18 |
<compatible/>
|
19 |
<dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
|
20 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Mage_Exactor_Tax</name>
|
4 |
+
<version>2015.03.31</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
7 |
<channel>community</channel>
|
12 |
For additional information, please refer to the Exactor Magento User Guide that is attached to the plug-in, or which you can download directly from the Exactor control panel (navigate to Account Management Integration Points & PlugIns).</description>
|
13 |
<notes>Supported Magento 1.5.0.0 - 1.7.x, Magento Enterprise 1.8-1.12.x</notes>
|
14 |
<authors><author><name>Exactor, Inc.</name><user>exactor</user><email>support@exactor.com</email></author></authors>
|
15 |
+
<date>2015-03-31</date>
|
16 |
+
<time>08:32:56</time>
|
17 |
+
<contents><target name="magelocal"><dir name="ZzzzzExactor"><dir name="Core"><dir name="Helper"><file name="SessionCache.php" hash="4a48ea63099201bc04581febe21b7237"/></dir><dir name="Model"><file name="ExactorTransaction.php" hash="aee2205ef1e8b58fe8fead7385af2fdd"/><file name="MerchantSettings.php" hash="b58bcf01d15af966358aa1e0f27b9fbe"/><dir name="Mysql4"><dir name="ExactorTransaction"><file name="Collection.php" hash="5078855300f1b8895c5429fb10f37854"/></dir><file name="ExactorTransaction.php" hash="4b8f45cc739ac05b71be3f38c0138109"/><dir name="MerchantSettings"><file name="Collection.php" hash="4c7e905444d9f02c1e82033cd147afc5"/></dir><file name="MerchantSettings.php" hash="fd98ded15c7dde7bcc1746a40c24aa85"/></dir><dir name="Type"><file name="Onepage.php" hash="8c9c744d769f4064dcc344d4d474dd2a"/></dir></dir><dir name="etc"><file name="config.xml" hash="654bd7d22e5a308722d8769a1233ad80"/></dir></dir><dir name="ExactorSettings"><dir name="Block"><file name="Form.php" hash="3189371ce1fca8f2ff72b165da762e2e"/></dir><dir name="Helper"><file name="Data.php" hash="08ff0be3da068e35731d5cbcb5ca031d"/><file name="VersionResolver.php" hash="e05646123b776551295cdc1050eb80a0"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="FormController.php" hash="83e0faaffe8a93e4fbccf9e0c0b4914f"/></dir><file name="AjaxController.php" hash="e0a9122472eebdf2ba9d703b35e528e6"/><file name="IndexController.php" hash="064275cda39bf28a23f0e30cda85d546"/></dir><dir name="etc"><file name="config.xml" hash="63ed7c63ac663fa72b1a645275499c34"/></dir><dir name="sql"><dir name="ExactorSettings_setup"><file name="mysql4-install-14.04.2012.php" hash="171dcba8395c21dccd336c86cd92db5d"/><file name="upgrade-2012.06.14-2012.09.25.php" hash="217c13f3fecf41decff7f0cbc908f0f8"/></dir></dir></dir><dir name="Sales"><dir name="Model"><file name="Observer.php" hash="0b17d3af621eaecba8307a1b8dceb75a"/></dir><dir name="etc"><file name="config.xml" hash="20483c2cc3730e5ea279023ef47c3d14"/></dir></dir><dir name="Tax"><dir name="Helper"><file name="Calculation.php" hash="30378738db4beea10d7caeb256018be6"/><file name="Mapping.php" hash="4573f592518b32247ff812edc8e0aeec"/></dir><dir name="Model"><dir name="Sales"><dir name="Total"><dir name="Quote"><dir name="Nominal"><file name="Tax.php" hash="46e0b7698aee6354278cf59d34192d2d"/></dir><file name="Tax.php" hash="fd51a300f74a5d74ce7ef0564dd1b928"/></dir></dir></dir></dir><dir name="etc"><file name="config.xml" hash="1c3235fa291ec1d81855a5015376cf51"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="exactorsettings.xml" hash="c6411fb02004382e2bde340e2eea8ba1"/><file name="exactoronestepcheckout.xml" hash="9fdfa1db5e4e60b4eec8f348c10aab07"/></dir><dir name="template"><dir name="ExactorSettings"><file name="settingsform.phtml" hash="c423218861b708c3d572ac77623c6280"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="exactoronestepcheckout.xml" hash="9fdfa1db5e4e60b4eec8f348c10aab07"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="ZzzzzExactor.xml" hash="d5d93cb5e6608f3cf87f5a57ed1448c7"/></dir></target><target name="mageweb"><dir name="js"><dir name="exactor"><file name="exactor.js" hash="5c23e40f4034e50a6e0df5b1c708b7e1"/></dir></dir></target><target name="magelib"><dir name="ExactorCommons"><file name="ExactorCommons.php" hash="167d88ecdd599a2445f394f46293db7c"/><file name="ExactorDomainObjects.php" hash="c708118429f6bea5c5c3a9c4caf28e99"/><file name="Magento.php" hash="190c773212f194297550d36ef404cf5b"/><file name="RegionResolver.php" hash="2537638a7895a169cee4b1df786d22fb"/><file name="XmlProcessing.php" hash="1fe961d5c14d507b2bb82fd3dd94237c"/><file name="config.php" hash="82adf99c19353622606bac865ea8628c"/></dir></target></contents>
|
18 |
<compatible/>
|
19 |
<dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
|
20 |
</package>
|