codistoconnect - Version 1.90.13

Version Notes

Download this release

Release Info

Developer Codisto
Extension codistoconnect
Version 1.90.13
Comparing to
See all releases


Code changes from version 1.90.12 to 1.90.13

app/code/community/Codisto/Sync/Model/Sync.php CHANGED
@@ -322,6 +322,7 @@ class Codisto_Sync_Model_Sync
322
$insertAttributeGroup = $db->prepare('INSERT OR IGNORE INTO AttributeGroup(ID, Name) VALUES(?, ?)');
323
$insertAttributeGroupMap = $db->prepare('INSERT OR IGNORE INTO AttributeGroupMap(GroupID, AttributeID) VALUES(?,?)');
324
$insertProductAttribute = $db->prepare('INSERT OR IGNORE INTO ProductAttributeValue(ProductExternalReference, AttributeID, Value) VALUES (?, ?, ?)');
325
$insertProductQuestion = $db->prepare('INSERT OR REPLACE INTO ProductQuestion(ExternalReference, ProductExternalReference, Name, Type, Sequence) VALUES (?, ?, ?, ?, ?)');
326
$insertProductAnswer = $db->prepare('INSERT INTO ProductQuestionAnswer(ProductQuestionExternalReference, Value, PriceModifier, SKUModifier, Sequence) VALUES (?, ?, ?, ?, ?)');
327
@@ -342,6 +343,7 @@ class Codisto_Sync_Model_Sync
342
'preparedattributegroupStatement' => $insertAttributeGroup,
343
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
344
'preparedproductattributeStatement' => $insertProductAttribute,
345
'preparedproductquestionStatement' => $insertProductQuestion,
346
'preparedproductanswerStatement' => $insertProductAnswer,
347
'store' => $store )
@@ -361,6 +363,7 @@ class Codisto_Sync_Model_Sync
361
'preparedattributegroupStatement' => $insertAttributeGroup,
362
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
363
'preparedproductattributeStatement' => $insertProductAttribute,
364
'preparedproductquestionStatement' => $insertProductQuestion,
365
'preparedproductanswerStatement' => $insertProductAnswer,
366
'store' => $store )
@@ -383,6 +386,7 @@ class Codisto_Sync_Model_Sync
383
'preparedattributegroupStatement' => $insertAttributeGroup,
384
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
385
'preparedproductattributeStatement' => $insertProductAttribute,
386
'preparedproductquestionStatement' => $insertProductQuestion,
387
'preparedproductanswerStatement' => $insertProductAnswer,
388
'store' => $store )
@@ -696,7 +700,7 @@ class Codisto_Sync_Model_Sync
696
$groupedData = Mage::getModel('catalog/product_type_grouped');
697
698
$childProducts = $groupedData->getAssociatedProductCollection($product);
699
- $childProducts->addAttributeToSelect(array('sku', 'name', 'price', 'special_price', 'special_from_date', 'special_to_date'));
700
701
$skulinkArgs = array();
702
$skumatrixArgs = array();
@@ -815,6 +819,7 @@ class Codisto_Sync_Model_Sync
815
$insertAttributeGroupSQL = $args['preparedattributegroupStatement'];
816
$insertAttributeGroupMapSQL = $args['preparedattributegroupmapStatement'];
817
$insertProductAttributeSQL = $args['preparedproductattributeStatement'];
818
$insertProductQuestionSQL = $args['preparedproductquestionStatement'];
819
$insertProductAnswerSQL = $args['preparedproductanswerStatement'];
820
@@ -1024,7 +1029,9 @@ class Codisto_Sync_Model_Sync
1024
}
1025
}
1026
1027
- $adapter = Mage::getModel('core/resource')->getConnection(Mage_Core_Model_Resource::DEFAULT_READ_RESOURCE);
1028
1029
$attrTypeSelects = array();
1030
@@ -1037,17 +1044,22 @@ class Codisto_Sync_Model_Sync
1037
->where('default_value.entity_id = :entity_id')
1038
->where('default_value.store_id = 0');
1039
1040
-
1041
if($store->getId() == Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID)
1042
{
1043
$attrTypeSelect->columns(array('attr_value' => new Zend_Db_Expr('CAST(value AS CHAR)')), 'default_value');
1044
$attrTypeSelect->where('default_value.value IS NOT NULL');
1045
}
1046
else
1047
{
1048
$attrTypeSelect->joinLeft(
1049
array('store_value' => $table),
1050
- 'store_value.attribute_id = default_value.attribute_id AND store_value.entity_type_id = default_value.entity_type_id AND store_value.entity_id = default_value.entity_id AND store_value.store_id = :store_id ',
1051
array('attr_value' => new Zend_Db_Expr('CAST(COALESCE(store_value.value, default_value.value) AS CHAR)'))
1052
);
1053
$attrTypeSelect->where('store_value.value IS NOT NULL OR default_value.value IS NOT NULL');
@@ -1068,25 +1080,39 @@ class Codisto_Sync_Model_Sync
1068
'store_id' => $store->getId()
1069
);
1070
1071
- $attributeRows = $adapter->fetchPairs($attrSelect, $attrArgs);
1072
- foreach ($attributeRows as $attributeId => $attributeValue)
1073
{
1074
$attributeCode = $attributeCodeIDMap[$attributeId];
1075
- $attributeValues[$attributeCode] = $attributeValue;
1076
}
1077
1078
foreach($attributeSet as $attributeData)
1079
{
1080
if(isset($attributeValues[$attributeData['code']]))
1081
- $attributeValue = $attributeValues[$attributeData['code']];
1082
else
1083
$attributeValue = null;
1084
1085
if(isset($attributeData['source']) &&
1086
$attributeData['source_model'] == 'eav/entity_attribute_source_boolean')
1087
{
1088
$attributeData['backend_type'] = 'boolean';
1089
1090
if(isset($attributeValue) && $attributeValue)
1091
$attributeValue = -1;
1092
else
@@ -1095,11 +1121,87 @@ class Codisto_Sync_Model_Sync
1095
1096
else if($attributeData['html'])
1097
{
1098
- $attributeValue = Mage::helper('codistosync')->processCmsContent($attributeValue);
1099
}
1100
1101
else if( in_array($attributeData['frontend_type'], array( 'select', 'multiselect' ) ) )
1102
{
1103
if(is_array($attributeValue))
1104
{
1105
if(isset($attributeData['source']) &&
@@ -1181,6 +1283,17 @@ class Codisto_Sync_Model_Sync
1181
1182
$insertProductAttributeSQL->execute(array($product_id, $attributeData['id'], $attributeValue));
1183
}
1184
}
1185
}
1186
@@ -1372,7 +1485,7 @@ class Codisto_Sync_Model_Sync
1372
1373
$orderData = $args['row'];
1374
1375
- $insertOrdersSQL->execute(array($orderData['codisto_orderid'], ($orderData['status'])?$orderData['status']:'processing', $orderData['pay_date'], $orderData['ship_date'], $orderData['carrier'], $orderData['track_number']));
1376
1377
$this->ordersProcessed[] = $orderData['entity_id'];
1378
$this->currentEntityId = $orderData['entity_id'];
@@ -1505,6 +1618,7 @@ class Codisto_Sync_Model_Sync
1505
$insertAttributeGroup = $db->prepare('INSERT OR REPLACE INTO AttributeGroup(ID, Name) VALUES(?, ?)');
1506
$insertAttributeGroupMap = $db->prepare('INSERT OR IGNORE INTO AttributeGroupMap(GroupID, AttributeID) VALUES(?,?)');
1507
$insertProductAttribute = $db->prepare('INSERT OR IGNORE INTO ProductAttributeValue(ProductExternalReference, AttributeID, Value) VALUES (?, ?, ?)');
1508
$insertProductQuestion = $db->prepare('INSERT OR REPLACE INTO ProductQuestion(ExternalReference, ProductExternalReference, Name, Type, Sequence) VALUES (?, ?, ?, ?, ?)');
1509
$insertProductAnswer = $db->prepare('INSERT INTO ProductQuestionAnswer(ProductQuestionExternalReference, Value, PriceModifier, SKUModifier, Sequence) VALUES (?, ?, ?, ?, ?)');
1510
@@ -1530,6 +1644,7 @@ class Codisto_Sync_Model_Sync
1530
'preparedattributegroupStatement' => $insertAttributeGroup,
1531
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
1532
'preparedproductattributeStatement' => $insertProductAttribute,
1533
'preparedproductquestionStatement' => $insertProductQuestion,
1534
'preparedproductanswerStatement' => $insertProductAnswer,
1535
'store' => $storeObject ));
@@ -1559,6 +1674,7 @@ class Codisto_Sync_Model_Sync
1559
'preparedattributegroupStatement' => $insertAttributeGroup,
1560
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
1561
'preparedproductattributeStatement' => $insertProductAttribute,
1562
'preparedproductquestionStatement' => $insertProductQuestion,
1563
'preparedproductanswerStatement' => $insertProductAnswer,
1564
'store' => $storeObject )
@@ -1590,6 +1706,7 @@ class Codisto_Sync_Model_Sync
1590
'preparedattributegroupStatement' => $insertAttributeGroup,
1591
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
1592
'preparedproductattributeStatement' => $insertProductAttribute,
1593
'preparedproductquestionStatement' => $insertProductQuestion,
1594
'preparedproductanswerStatement' => $insertProductAnswer,
1595
'store' => $storeObject )
@@ -1610,7 +1727,7 @@ class Codisto_Sync_Model_Sync
1610
1611
if(!empty($orderUpdateIds))
1612
{
1613
- $insertOrders = $db->prepare('INSERT OR REPLACE INTO [Order] (ID, Status, PaymentDate, ShipmentDate, Carrier, TrackingNumber) VALUES (?, ?, ?, ?, ?, ?)');
1614
1615
$orderStoreId = $storeId;
1616
if($storeId == 0)
@@ -1631,7 +1748,8 @@ class Codisto_Sync_Model_Sync
1631
$ts -= 7776000; // 90 days
1632
1633
$orders = Mage::getModel('sales/order')->getCollection()
1634
- ->addFieldToSelect(array('codisto_orderid', 'status'))
1635
->addAttributeToFilter('entity_id', array('in' => $orderUpdateIds ))
1636
->addAttributeToFilter('main_table.store_id', array('eq' => $orderStoreId ))
1637
->addAttributeToFilter('main_table.updated_at', array('gteq' => date('Y-m-d H:i:s', $ts)))
@@ -1849,6 +1967,7 @@ class Codisto_Sync_Model_Sync
1849
$insertAttributeGroup = $db->prepare('INSERT OR REPLACE INTO AttributeGroup(ID, Name) VALUES(?, ?)');
1850
$insertAttributeGroupMap = $db->prepare('INSERT OR IGNORE INTO AttributeGroupMap(GroupID, AttributeID) VALUES(?,?)');
1851
$insertProductAttribute = $db->prepare('INSERT OR IGNORE INTO ProductAttributeValue(ProductExternalReference, AttributeID, Value) VALUES (?, ?, ?)');
1852
$insertProductQuestion = $db->prepare('INSERT OR REPLACE INTO ProductQuestion(ExternalReference, ProductExternalReference, Name, Type, Sequence) VALUES (?, ?, ?, ?, ?)');
1853
$insertProductAnswer = $db->prepare('INSERT INTO ProductQuestionAnswer(ProductQuestionExternalReference, Value, PriceModifier, SKUModifier, Sequence) VALUES (?, ?, ?, ?, ?)');
1854
$insertOrders = $db->prepare('INSERT OR REPLACE INTO [Order] (ID, Status, PaymentDate, ShipmentDate, Carrier, TrackingNumber) VALUES (?, ?, ?, ?, ?, ?)');
@@ -1964,6 +2083,7 @@ class Codisto_Sync_Model_Sync
1964
'preparedattributegroupStatement' => $insertAttributeGroup,
1965
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
1966
'preparedproductattributeStatement' => $insertProductAttribute,
1967
'preparedproductquestionStatement' => $insertProductQuestion,
1968
'preparedproductanswerStatement' => $insertProductAnswer,
1969
'store' => $store ));
@@ -2010,6 +2130,7 @@ class Codisto_Sync_Model_Sync
2010
'preparedattributegroupStatement' => $insertAttributeGroup,
2011
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
2012
'preparedproductattributeStatement' => $insertProductAttribute,
2013
'preparedproductquestionStatement' => $insertProductQuestion,
2014
'preparedproductanswerStatement' => $insertProductAnswer,
2015
'store' => $store )
@@ -2057,6 +2178,7 @@ class Codisto_Sync_Model_Sync
2057
'preparedattributegroupStatement' => $insertAttributeGroup,
2058
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
2059
'preparedproductattributeStatement' => $insertProductAttribute,
2060
'preparedproductquestionStatement' => $insertProductQuestion,
2061
'preparedproductanswerStatement' => $insertProductAnswer,
2062
'store' => $store )
@@ -2111,6 +2233,7 @@ class Codisto_Sync_Model_Sync
2111
2112
$orders = Mage::getModel('sales/order')->getCollection()
2113
->addFieldToSelect(array('codisto_orderid', 'status'))
2114
->addAttributeToFilter('entity_id', array('gt' => (int)$this->currentEntityId ))
2115
->addAttributeToFilter('main_table.store_id', array('eq' => $orderStoreId ))
2116
->addAttributeToFilter('main_table.updated_at', array('gteq' => date('Y-m-d H:i:s', $ts)))
@@ -2434,7 +2557,7 @@ class Codisto_Sync_Model_Sync
2434
2435
$db = $this->GetSyncDb($syncDb, 5 );
2436
2437
- $insertOrders = $db->prepare('INSERT OR REPLACE INTO [Order] (ID, Status, PaymentDate, ShipmentDate, Carrier, TrackingNumber) VALUES (?, ?, ?, ?, ?, ?)');
2438
2439
$coreResource = Mage::getSingleton('core/resource');
2440
@@ -2446,6 +2569,7 @@ class Codisto_Sync_Model_Sync
2446
2447
$orders = Mage::getModel('sales/order')->getCollection()
2448
->addFieldToSelect(array('codisto_orderid', 'status'))
2449
->addAttributeToFilter('codisto_orderid', array('in' => $orders ));
2450
2451
$orders->getSelect()->joinLeft( array('i' => $invoiceName), 'i.order_id = main_table.entity_id AND i.state = 2', array('pay_date' => 'MIN(i.created_at)'));
@@ -2504,6 +2628,7 @@ class Codisto_Sync_Model_Sync
2504
$db->exec('CREATE TABLE IF NOT EXISTS AttributeGroupMap (AttributeID integer NOT NULL, GroupID integer NOT NULL, PRIMARY KEY(AttributeID, GroupID))');
2505
$db->exec('CREATE TABLE IF NOT EXISTS AttributeGroup (ID integer NOT NULL PRIMARY KEY, Name text NOT NULL)');
2506
$db->exec('CREATE TABLE IF NOT EXISTS ProductAttributeValue (ProductExternalReference text NOT NULL, AttributeID integer NOT NULL, Value any, PRIMARY KEY (ProductExternalReference, AttributeID))');
2507
2508
$db->exec('CREATE TABLE IF NOT EXISTS TaxClass (ID integer NOT NULL PRIMARY KEY, Type text NOT NULL, Name text NOT NULL)');
2509
$db->exec('CREATE TABLE IF NOT EXISTS TaxCalculation(ID integer NOT NULL PRIMARY KEY, TaxRateID integer NOT NULL, TaxRuleID integer NOT NULL, ProductTaxClassID integer NOT NULL, CustomerTaxClassID integer NOT NULL)');
@@ -2514,7 +2639,7 @@ class Codisto_Sync_Model_Sync
2514
$db->exec('CREATE TABLE IF NOT EXISTS Store(ID integer NOT NULL PRIMARY KEY, Code text NOT NULL, Name text NOT NULL, Currency text NOT NULL)');
2515
$db->exec('CREATE TABLE IF NOT EXISTS StoreMerchant(StoreID integer NOT NULL, MerchantID integer NOT NULL, PRIMARY KEY (StoreID, MerchantID))');
2516
2517
- $db->exec('CREATE TABLE IF NOT EXISTS [Order](ID integer NOT NULL PRIMARY KEY, Status text NOT NULL, PaymentDate datetime NULL, ShipmentDate datetime NULL, Carrier text NOT NULL, TrackingNumber text NOT NULL)');
2518
2519
$db->exec('CREATE TABLE IF NOT EXISTS StaticBlock(BlockID integer NOT NULL PRIMARY KEY, Title text NOT NULL, Identifier text NOT NULL, Content text NOT NULL)');
2520
@@ -2532,6 +2657,15 @@ class Codisto_Sync_Model_Sync
2532
$db->exec('ALTER TABLE NewOrder RENAME TO [Order]');
2533
}
2534
2535
try
2536
{
2537
$db->exec('SELECT 1 FROM ProductAttributeValue WHERE ProductExternalReference IS NULL LIMIT 1');
322
$insertAttributeGroup = $db->prepare('INSERT OR IGNORE INTO AttributeGroup(ID, Name) VALUES(?, ?)');
323
$insertAttributeGroupMap = $db->prepare('INSERT OR IGNORE INTO AttributeGroupMap(GroupID, AttributeID) VALUES(?,?)');
324
$insertProductAttribute = $db->prepare('INSERT OR IGNORE INTO ProductAttributeValue(ProductExternalReference, AttributeID, Value) VALUES (?, ?, ?)');
325
+ $insertProductAttributeDefault = $db->prepare('INSERT OR IGNORE INTO ProductAttributeDefaultValue(ProductExternalReference, AttributeID, Value) VALUES (?, ?, ?)');
326
$insertProductQuestion = $db->prepare('INSERT OR REPLACE INTO ProductQuestion(ExternalReference, ProductExternalReference, Name, Type, Sequence) VALUES (?, ?, ?, ?, ?)');
327
$insertProductAnswer = $db->prepare('INSERT INTO ProductQuestionAnswer(ProductQuestionExternalReference, Value, PriceModifier, SKUModifier, Sequence) VALUES (?, ?, ?, ?, ?)');
328
343
'preparedattributegroupStatement' => $insertAttributeGroup,
344
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
345
'preparedproductattributeStatement' => $insertProductAttribute,
346
+ 'preparedproductattributedefaultStatement' => $insertProductAttributeDefault,
347
'preparedproductquestionStatement' => $insertProductQuestion,
348
'preparedproductanswerStatement' => $insertProductAnswer,
349
'store' => $store )
363
'preparedattributegroupStatement' => $insertAttributeGroup,
364
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
365
'preparedproductattributeStatement' => $insertProductAttribute,
366
+ 'preparedproductattributedefaultStatement' => $insertProductAttributeDefault,
367
'preparedproductquestionStatement' => $insertProductQuestion,
368
'preparedproductanswerStatement' => $insertProductAnswer,
369
'store' => $store )
386
'preparedattributegroupStatement' => $insertAttributeGroup,
387
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
388
'preparedproductattributeStatement' => $insertProductAttribute,
389
+ 'preparedproductattributedefaultStatement' => $insertProductAttributeDefault,
390
'preparedproductquestionStatement' => $insertProductQuestion,
391
'preparedproductanswerStatement' => $insertProductAnswer,
392
'store' => $store )
700
$groupedData = Mage::getModel('catalog/product_type_grouped');
701
702
$childProducts = $groupedData->getAssociatedProductCollection($product);
703
+ $childProducts->addAttributeToSelect(array('sku', 'name', 'price', 'special_price', 'special_from_date', 'special_to_date', 'tax_class_id'));
704
705
$skulinkArgs = array();
706
$skumatrixArgs = array();
819
$insertAttributeGroupSQL = $args['preparedattributegroupStatement'];
820
$insertAttributeGroupMapSQL = $args['preparedattributegroupmapStatement'];
821
$insertProductAttributeSQL = $args['preparedproductattributeStatement'];
822
+ $insertProductAttributeDefaultSQL = $args['preparedproductattributedefaultStatement'];
823
$insertProductQuestionSQL = $args['preparedproductquestionStatement'];
824
$insertProductAnswerSQL = $args['preparedproductanswerStatement'];
825
1029
}
1030
}
1031
1032
+ $coreResource = Mage::getModel('core/resource');
1033
+
1034
+ $adapter = $coreResource->getConnection(Mage_Core_Model_Resource::DEFAULT_READ_RESOURCE);
1035
1036
$attrTypeSelects = array();
1037
1044
->where('default_value.entity_id = :entity_id')
1045
->where('default_value.store_id = 0');
1046
1047
if($store->getId() == Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID)
1048
{
1049
$attrTypeSelect->columns(array('attr_value' => new Zend_Db_Expr('CAST(value AS CHAR)')), 'default_value');
1050
+ $attrTypeSelect->columns(array('default_value' => 'value'), 'default_value');
1051
$attrTypeSelect->where('default_value.value IS NOT NULL');
1052
}
1053
else
1054
{
1055
+ $attrTypeSelect->columns(array('default_value' => 'value'), 'default_value');
1056
$attrTypeSelect->joinLeft(
1057
array('store_value' => $table),
1058
+ 'store_value.attribute_id = default_value.attribute_id '.
1059
+ 'AND store_value.attribute_id IN (SELECT attribute_id FROM `'.$coreResource->getTableName('catalog/eav_attribute').'` WHERE is_global != 0) '.
1060
+ 'AND store_value.entity_type_id = default_value.entity_type_id '.
1061
+ 'AND store_value.entity_id = default_value.entity_id '.
1062
+ 'AND store_value.store_id = :store_id ',
1063
array('attr_value' => new Zend_Db_Expr('CAST(COALESCE(store_value.value, default_value.value) AS CHAR)'))
1064
);
1065
$attrTypeSelect->where('store_value.value IS NOT NULL OR default_value.value IS NOT NULL');
1080
'store_id' => $store->getId()
1081
);
1082
1083
+ foreach($adapter->fetchAll($attrSelect, $attrArgs, Zend_Db::FETCH_NUM) as $attributeRow)
1084
{
1085
+ $attributeId = $attributeRow[0];
1086
+
1087
$attributeCode = $attributeCodeIDMap[$attributeId];
1088
+ $attributeValues[$attributeCode] = $attributeRow;
1089
}
1090
1091
foreach($attributeSet as $attributeData)
1092
{
1093
if(isset($attributeValues[$attributeData['code']]))
1094
+ {
1095
+ $attributeRow = $attributeValues[$attributeData['code']];
1096
+
1097
+ $defaultValue = $attributeRow[1];
1098
+ $attributeValue = $attributeRow[2];
1099
+ }
1100
else
1101
+ {
1102
+ $defaultValue = null;
1103
$attributeValue = null;
1104
+ }
1105
1106
if(isset($attributeData['source']) &&
1107
$attributeData['source_model'] == 'eav/entity_attribute_source_boolean')
1108
{
1109
$attributeData['backend_type'] = 'boolean';
1110
1111
+ if(isset($defaultValue) && $defaultValue)
1112
+ $defaultValue = -1;
1113
+ else
1114
+ $defaultValue = 0;
1115
+
1116
if(isset($attributeValue) && $attributeValue)
1117
$attributeValue = -1;
1118
else
1121
1122
else if($attributeData['html'])
1123
{
1124
+ if($defaultValue == $attributeValue)
1125
+ {
1126
+ $defaultValue = $attributeValue = Mage::helper('codistosync')->processCmsContent($attributeValue);
1127
+ }
1128
+ else
1129
+ {
1130
+ $defaultValue = Mage::helper('codistosync')->processCmsContent($defaultValue);
1131
+ $attributeValue = Mage::helper('codistosync')->processCmsContent($attributeValue);
1132
+ }
1133
}
1134
1135
else if( in_array($attributeData['frontend_type'], array( 'select', 'multiselect' ) ) )
1136
{
1137
+ if(is_array($attributeValue))
1138
+ {
1139
+ if(isset($attributeData['source']) &&
1140
+ method_exists( $attributeData['source'], 'getOptionText') )
1141
+ {
1142
+ $defaultValueSet = array();
1143
+
1144
+ foreach($attributeValue as $attributeOptionId)
1145
+ {
1146
+ if(isset($this->optionTextCache['0-'.$attributeData['id'].'-'.$attributeOptionId]))
1147
+ {
1148
+ $defaultValueSet[] = $this->optionTextCache['0-'.$attributeData['id'].'-'.$attributeOptionId];
1149
+ }
1150
+ else
1151
+ {
1152
+ try
1153
+ {
1154
+ $attributeData['source']->getAttribute()->setStoreId(0);
1155
+
1156
+ $attributeText = $attributeData['source']->getOptionText($attributeOptionId);
1157
+
1158
+ $attributeData['source']->getAttribute()->setStoreId($store->getId());
1159
+
1160
+ $this->optionTextCache['0-'.$attributeData['id'].'-'.$attributeOptionId] = $attributeText;
1161
+
1162
+ $defaultValueSet[] = $attributeText;
1163
+ }
1164
+ catch(Exception $e)
1165
+ {
1166
+
1167
+ }
1168
+ }
1169
+ }
1170
+
1171
+ $defaultValue = $defaultValueSet;
1172
+ }
1173
+ }
1174
+ else
1175
+ {
1176
+ if(isset($attributeData['source']) &&
1177
+ method_exists( $attributeData['source'], 'getOptionText') )
1178
+ {
1179
+ if(isset($this->optionTextCache['0-'.$attributeData['id'].'-'.$attributeValue]))
1180
+ {
1181
+ $defaultValue = $this->optionTextCache['0-'.$attributeData['id'].'-'.$attributeValue];
1182
+ }
1183
+ else
1184
+ {
1185
+ try
1186
+ {
1187
+ $attributeData['source']->getAttribute()->setStoreId(0);
1188
+
1189
+ $attributeText = $attributeData['source']->getOptionText($attributeValue);
1190
+
1191
+ $attributeData['source']->getAttribute()->setStoreId($store->getId());
1192
+
1193
+ $this->optionTextCache['0-'.$attributeData['id'].'-'.$attributeValue] = $attributeText;
1194
+
1195
+ $defaultValue = $attributeText;
1196
+ }
1197
+ catch(Exception $e)
1198
+ {
1199
+ $defaultValue = null;
1200
+ }
1201
+ }
1202
+ }
1203
+ }
1204
+
1205
if(is_array($attributeValue))
1206
{
1207
if(isset($attributeData['source']) &&
1283
1284
$insertProductAttributeSQL->execute(array($product_id, $attributeData['id'], $attributeValue));
1285
}
1286
+
1287
+ if(isset($defaultValue) && !is_null($defaultValue))
1288
+ {
1289
+ if(is_array($defaultValue))
1290
+ $defaultValue = implode(',', $defaultValue);
1291
+
1292
+ if($defaultValue != $attributeValue)
1293
+ {
1294
+ $insertProductAttributeDefaultSQL->execute(array($product_id, $attributeData['id'], $defaultValue));
1295
+ }
1296
+ }
1297
}
1298
}
1299
1485
1486
$orderData = $args['row'];
1487
1488
+ $insertOrdersSQL->execute(array($orderData['codisto_orderid'], ($orderData['status'])?$orderData['status']:'processing', $orderData['pay_date'], $orderData['ship_date'], $orderData['carrier'], $orderData['track_number'], $orderData['externalreference']));
1489
1490
$this->ordersProcessed[] = $orderData['entity_id'];
1491
$this->currentEntityId = $orderData['entity_id'];
1618
$insertAttributeGroup = $db->prepare('INSERT OR REPLACE INTO AttributeGroup(ID, Name) VALUES(?, ?)');
1619
$insertAttributeGroupMap = $db->prepare('INSERT OR IGNORE INTO AttributeGroupMap(GroupID, AttributeID) VALUES(?,?)');
1620
$insertProductAttribute = $db->prepare('INSERT OR IGNORE INTO ProductAttributeValue(ProductExternalReference, AttributeID, Value) VALUES (?, ?, ?)');
1621
+ $insertProductAttributeDefault = $db->prepare('INSERT OR IGNORE INTO ProductAttributeDefaultValue(ProductExternalReference, AttributeID, Value) VALUES (?, ?, ?)');
1622
$insertProductQuestion = $db->prepare('INSERT OR REPLACE INTO ProductQuestion(ExternalReference, ProductExternalReference, Name, Type, Sequence) VALUES (?, ?, ?, ?, ?)');
1623
$insertProductAnswer = $db->prepare('INSERT INTO ProductQuestionAnswer(ProductQuestionExternalReference, Value, PriceModifier, SKUModifier, Sequence) VALUES (?, ?, ?, ?, ?)');
1624
1644
'preparedattributegroupStatement' => $insertAttributeGroup,
1645
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
1646
'preparedproductattributeStatement' => $insertProductAttribute,
1647
+ 'preparedproductattributedefaultStatement' => $insertProductAttributeDefault,
1648
'preparedproductquestionStatement' => $insertProductQuestion,
1649
'preparedproductanswerStatement' => $insertProductAnswer,
1650
'store' => $storeObject ));
1674
'preparedattributegroupStatement' => $insertAttributeGroup,
1675
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
1676
'preparedproductattributeStatement' => $insertProductAttribute,
1677
+ 'preparedproductattributedefaultStatement' => $insertProductAttributeDefault,
1678
'preparedproductquestionStatement' => $insertProductQuestion,
1679
'preparedproductanswerStatement' => $insertProductAnswer,
1680
'store' => $storeObject )
1706
'preparedattributegroupStatement' => $insertAttributeGroup,
1707
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
1708
'preparedproductattributeStatement' => $insertProductAttribute,
1709
+ 'preparedproductattributedefaultStatement' => $insertProductAttributeDefault,
1710
'preparedproductquestionStatement' => $insertProductQuestion,
1711
'preparedproductanswerStatement' => $insertProductAnswer,
1712
'store' => $storeObject )
1727
1728
if(!empty($orderUpdateIds))
1729
{
1730
+ $insertOrders = $db->prepare('INSERT OR REPLACE INTO [Order] (ID, Status, PaymentDate, ShipmentDate, Carrier, TrackingNumber, ExternalReference) VALUES (?, ?, ?, ?, ?, ?, ?)');
1731
1732
$orderStoreId = $storeId;
1733
if($storeId == 0)
1748
$ts -= 7776000; // 90 days
1749
1750
$orders = Mage::getModel('sales/order')->getCollection()
1751
+ ->addFieldToSelect(array('codisto_orderid', 'status' ))
1752
+ ->addFieldToSelect('entity_id','externalreference')
1753
->addAttributeToFilter('entity_id', array('in' => $orderUpdateIds ))
1754
->addAttributeToFilter('main_table.store_id', array('eq' => $orderStoreId ))
1755
->addAttributeToFilter('main_table.updated_at', array('gteq' => date('Y-m-d H:i:s', $ts)))
1967
$insertAttributeGroup = $db->prepare('INSERT OR REPLACE INTO AttributeGroup(ID, Name) VALUES(?, ?)');
1968
$insertAttributeGroupMap = $db->prepare('INSERT OR IGNORE INTO AttributeGroupMap(GroupID, AttributeID) VALUES(?,?)');
1969
$insertProductAttribute = $db->prepare('INSERT OR IGNORE INTO ProductAttributeValue(ProductExternalReference, AttributeID, Value) VALUES (?, ?, ?)');
1970
+ $insertProductAttributeDefault = $db->prepare('INSERT OR IGNORE INTO ProductAttributeDefaultValue(ProductExternalReference, AttributeID, Value) VALUES (?, ?, ?)');
1971
$insertProductQuestion = $db->prepare('INSERT OR REPLACE INTO ProductQuestion(ExternalReference, ProductExternalReference, Name, Type, Sequence) VALUES (?, ?, ?, ?, ?)');
1972
$insertProductAnswer = $db->prepare('INSERT INTO ProductQuestionAnswer(ProductQuestionExternalReference, Value, PriceModifier, SKUModifier, Sequence) VALUES (?, ?, ?, ?, ?)');
1973
$insertOrders = $db->prepare('INSERT OR REPLACE INTO [Order] (ID, Status, PaymentDate, ShipmentDate, Carrier, TrackingNumber) VALUES (?, ?, ?, ?, ?, ?)');
2083
'preparedattributegroupStatement' => $insertAttributeGroup,
2084
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
2085
'preparedproductattributeStatement' => $insertProductAttribute,
2086
+ 'preparedproductattributedefaultStatement' => $insertProductAttributeDefault,
2087
'preparedproductquestionStatement' => $insertProductQuestion,
2088
'preparedproductanswerStatement' => $insertProductAnswer,
2089
'store' => $store ));
2130
'preparedattributegroupStatement' => $insertAttributeGroup,
2131
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
2132
'preparedproductattributeStatement' => $insertProductAttribute,
2133
+ 'preparedproductattributedefaultStatement' => $insertProductAttributeDefault,
2134
'preparedproductquestionStatement' => $insertProductQuestion,
2135
'preparedproductanswerStatement' => $insertProductAnswer,
2136
'store' => $store )
2178
'preparedattributegroupStatement' => $insertAttributeGroup,
2179
'preparedattributegroupmapStatement' => $insertAttributeGroupMap,
2180
'preparedproductattributeStatement' => $insertProductAttribute,
2181
+ 'preparedproductattributedefaultStatement' => $insertProductAttributeDefault,
2182
'preparedproductquestionStatement' => $insertProductQuestion,
2183
'preparedproductanswerStatement' => $insertProductAnswer,
2184
'store' => $store )
2233
2234
$orders = Mage::getModel('sales/order')->getCollection()
2235
->addFieldToSelect(array('codisto_orderid', 'status'))
2236
+ ->addFieldToSelect('entity_id','externalreference')
2237
->addAttributeToFilter('entity_id', array('gt' => (int)$this->currentEntityId ))
2238
->addAttributeToFilter('main_table.store_id', array('eq' => $orderStoreId ))
2239
->addAttributeToFilter('main_table.updated_at', array('gteq' => date('Y-m-d H:i:s', $ts)))
2557
2558
$db = $this->GetSyncDb($syncDb, 5 );
2559
2560
+ $insertOrders = $db->prepare('INSERT OR REPLACE INTO [Order] (ID, Status, PaymentDate, ShipmentDate, Carrier, TrackingNumber, ExternalReference) VALUES (?, ?, ?, ?, ?, ?, ?)');
2561
2562
$coreResource = Mage::getSingleton('core/resource');
2563
2569
2570
$orders = Mage::getModel('sales/order')->getCollection()
2571
->addFieldToSelect(array('codisto_orderid', 'status'))
2572
+ ->addFieldToSelect('entity_id','externalreference')
2573
->addAttributeToFilter('codisto_orderid', array('in' => $orders ));
2574
2575
$orders->getSelect()->joinLeft( array('i' => $invoiceName), 'i.order_id = main_table.entity_id AND i.state = 2', array('pay_date' => 'MIN(i.created_at)'));
2628
$db->exec('CREATE TABLE IF NOT EXISTS AttributeGroupMap (AttributeID integer NOT NULL, GroupID integer NOT NULL, PRIMARY KEY(AttributeID, GroupID))');
2629
$db->exec('CREATE TABLE IF NOT EXISTS AttributeGroup (ID integer NOT NULL PRIMARY KEY, Name text NOT NULL)');
2630
$db->exec('CREATE TABLE IF NOT EXISTS ProductAttributeValue (ProductExternalReference text NOT NULL, AttributeID integer NOT NULL, Value any, PRIMARY KEY (ProductExternalReference, AttributeID))');
2631
+ $db->exec('CREATE TABLE IF NOT EXISTS ProductAttributeDefaultValue (ProductExternalReference text NOT NULL, AttributeID integer NOT NULL, Value any, PRIMARY KEY (ProductExternalReference, AttributeID))');
2632
2633
$db->exec('CREATE TABLE IF NOT EXISTS TaxClass (ID integer NOT NULL PRIMARY KEY, Type text NOT NULL, Name text NOT NULL)');
2634
$db->exec('CREATE TABLE IF NOT EXISTS TaxCalculation(ID integer NOT NULL PRIMARY KEY, TaxRateID integer NOT NULL, TaxRuleID integer NOT NULL, ProductTaxClassID integer NOT NULL, CustomerTaxClassID integer NOT NULL)');
2639
$db->exec('CREATE TABLE IF NOT EXISTS Store(ID integer NOT NULL PRIMARY KEY, Code text NOT NULL, Name text NOT NULL, Currency text NOT NULL)');
2640
$db->exec('CREATE TABLE IF NOT EXISTS StoreMerchant(StoreID integer NOT NULL, MerchantID integer NOT NULL, PRIMARY KEY (StoreID, MerchantID))');
2641
2642
+ $db->exec('CREATE TABLE IF NOT EXISTS [Order](ID integer NOT NULL PRIMARY KEY, Status text NOT NULL, PaymentDate datetime NULL, ShipmentDate datetime NULL, Carrier text NOT NULL, TrackingNumber text NOT NULL, ExternalReference text NOT NULL DEFAULT \'\')');
2643
2644
$db->exec('CREATE TABLE IF NOT EXISTS StaticBlock(BlockID integer NOT NULL PRIMARY KEY, Title text NOT NULL, Identifier text NOT NULL, Content text NOT NULL)');
2645
2657
$db->exec('ALTER TABLE NewOrder RENAME TO [Order]');
2658
}
2659
2660
+ try
2661
+ {
2662
+ $db->exec('SELECT 1 FROM [Order] WHERE ExternalReference IS NULL LIMIT 1');
2663
+ }
2664
+ catch(Exception $e)
2665
+ {
2666
+ $db->exec('ALTER TABLE [Order] ADD COLUMN ExternalReference text NOT NULL DEFAULT \'\'');
2667
+ }
2668
+
2669
try
2670
{
2671
$db->exec('SELECT 1 FROM ProductAttributeValue WHERE ProductExternalReference IS NULL LIMIT 1');
app/code/community/Codisto/Sync/controllers/IndexController.php CHANGED
@@ -751,7 +751,35 @@ class Codisto_Sync_IndexController extends Mage_Core_Controller_Front_Action
751
752
if(strtolower($freightservice) != 'freight')
753
{
754
- $order->setShippingDescription($freightservice);
755
}
756
757
$ordersubtotal -= $freighttotalextax;
@@ -1032,7 +1060,35 @@ class Codisto_Sync_IndexController extends Mage_Core_Controller_Front_Action
1032
1033
if(strtolower($freightservice) != 'freight')
1034
{
1035
- $order->setShippingDescription($freightservice);
1036
}
1037
1038
$ordersubtotal -= $freighttotalextax;
751
752
if(strtolower($freightservice) != 'freight')
753
{
754
+ $matchFound = false;
755
+
756
+ $shippingDescription = $quote->getShippingAddress()->getShippingDescription();
757
+ if($shippingDescription)
758
+ {
759
+ $shippingRates = $quote->getShippingAddress()->getAllShippingRates();
760
+
761
+ foreach($shippingRates as $rate)
762
+ {
763
+ $shippingMethodTitle = $rate->getMethodTitle();
764
+
765
+ if(strpos($shippingDescription, $shippingMethodTitle) !== false)
766
+ {
767
+ $shippingDescription = str_replace($shippingMethodTitle, $freightservice, $shippingDescription);
768
+ $matchFound = true;
769
+ break;
770
+ }
771
+ }
772
+ }
773
+
774
+ if(!$matchFound)
775
+ {
776
+ $shippingDescription = $freightservice;
777
+ }
778
+ }
779
+
780
+ if($shippingDescription)
781
+ {
782
+ $order->setShippingDescription($shippingDescription);
783
}
784
785
$ordersubtotal -= $freighttotalextax;
1060
1061
if(strtolower($freightservice) != 'freight')
1062
{
1063
+ $matchFound = false;
1064
+
1065
+ $shippingDescription = $quote->getShippingAddress()->getShippingDescription();
1066
+ if($shippingDescription)
1067
+ {
1068
+ $shippingRates = $quote->getShippingAddress()->getAllShippingRates();
1069
+
1070
+ foreach($shippingRates as $rate)
1071
+ {
1072
+ $shippingMethodTitle = $rate->getMethodTitle();
1073
+
1074
+ if(strpos($shippingDescription, $shippingMethodTitle) !== false)
1075
+ {
1076
+ $shippingDescription = str_replace($shippingMethodTitle, $freightservice, $shippingDescription);
1077
+ $matchFound = true;
1078
+ break;
1079
+ }
1080
+ }
1081
+ }
1082
+
1083
+ if(!$matchFound)
1084
+ {
1085
+ $shippingDescription = $freightservice;
1086
+ }
1087
+ }
1088
+
1089
+ if($shippingDescription)
1090
+ {
1091
+ $order->setShippingDescription($shippingDescription);
1092
}
1093
1094
$ordersubtotal -= $freighttotalextax;
app/code/community/Codisto/Sync/controllers/SyncController.php CHANGED
@@ -254,7 +254,7 @@ class Codisto_Sync_SyncController extends Mage_Core_Controller_Front_Action
254
255
if($ordersAvailable)
256
{
257
- $db->exec('CREATE TABLE [Order] AS SELECT * FROM SyncDb.[Order] WHERE ID IN (SELECT ExternalReference FROM SyncDb.OrderChange)');
258
$db->exec('CREATE TABLE OrderChange AS SELECT * FROM SyncDb.OrderChange');
259
}
260
}
254
255
if($ordersAvailable)
256
{
257
+ $db->exec('CREATE TABLE [Order] AS SELECT * FROM SyncDb.[Order] WHERE ExternalReference = \'\' OR ExternalReference IN (SELECT ExternalReference FROM SyncDb.OrderChange)');
258
$db->exec('CREATE TABLE OrderChange AS SELECT * FROM SyncDb.OrderChange');
259
}
260
}
app/code/community/Codisto/Sync/data/codisto_setup/{data-install-1.90.12.php → data-install-1.90.13.php} RENAMED
File without changes
app/code/community/Codisto/Sync/etc/config.xml CHANGED
@@ -23,7 +23,7 @@
23
<config>
24
<modules>
25
<Codisto_Sync>
26
- <version>1.90.12</version>
27
<depends>
28
<Mage_Payment/>
29
</depends>
23
<config>
24
<modules>
25
<Codisto_Sync>
26
+ <version>1.90.13</version>
27
<depends>
28
<Mage_Payment/>
29
</depends>
app/code/community/Codisto/Sync/sql/codisto_setup/{mysql4-install-1.90.12.php → mysql4-install-1.90.13.php} RENAMED
File without changes
package.xml CHANGED
@@ -1,2 +1,2 @@
1
<?xml version="1.0"?>
2
- <package><name>codistoconnect</name><version>1.90.12</version><stability>stable</stability><license>OSL-3.0</license><channel>community</channel><extends></extends><summary>Fastest, Easiest eBay listing</summary><description>CodistoConnect enables you to list on eBay in the simplest way possible with maximum performance</description><notes></notes><authors><author><name>Codisto</name><user>Codisto</user><email>hello@codisto.com</email></author></authors><date>2016-09-05</date><time>21:53:58</time><compatible></compatible><dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies><contents><target name="mage"><dir name="app"><dir name="design"><dir name="ebay"><file name="README" hash="8a3f3351f68ccde9f161cdbe3960392f"/></dir></dir><dir name="code"><dir name="community"><dir name="Codisto"><dir name="Sync"><dir name="Helper"><file name="CmsContent.php" hash="f00b4523d681c60c660089d0de0f2e03"/><file name="Data.php" hash="47f7bc430c410c9989da367a8daff645"/><file name="Signal.php" hash="b624f962056ceffae9c3160ed3e5655e"/></dir><dir name="controllers"><file name="CodistoController.php" hash="eccbf167582d60ae559b7455b9b8e7ea"/><file name="IndexController.php" hash="4945ea70ebcca04a3dd0187412095661"/><file name="SyncController.php" hash="8f7077a9c04215f8e09b4a0257049a74"/></dir><dir name="Controller"><file name="Router.php" hash="66d43bfbe826fe525dc764d42146cd50"/></dir><dir name="Test"><file name="README" hash="8299e52f9198536ff5fd3fb42f4a29d8"/><dir name="Config"><file name="AdminHtml.php" hash="6ee6404e52ed6376ad41b7556f265c32"/><file name="Config.php" hash="2e9023fcbab484d03936394934f44f13"/><dir name="Config"><dir name="expectations"><file name="testCodistoCoreConfig.yaml" hash="4a4e07f62981139ff6eb8a63420cbf0d"/></dir></dir></dir><dir name="Controllers"><file name="CodistoController.php" hash="a2be4faeac73ff1847c0d7dc4fbdc0e0"/><file name="IndexController.php" hash="f7252fae8d2f7b67397ae56524db49d1"/><file name="SyncController.php" hash="33436e4935631488073765d723a82ff7"/></dir><dir name="Controller"><file name="Router.php" hash="8afc0dca269dd0977ff6b3ac6802d0ee"/></dir><dir name="Model"><file name="Paymentmethod.php" hash="862365909073ffbba057f6f152933826"/><file name="Sync.php" hash="10a38bbb62260208a8b1529e762b7b75"/></dir></dir><dir name="sql"><dir name="codisto_setup"><file name="mysql4-install-1.90.12.php" hash="6d07d4e22ae5d907df1f4389c3a829d4"/></dir></dir><dir name="data"><dir name="codisto_setup"><file name="data-install-1.90.12.php" hash="29334830432cf1a02e4a992b9a42d6c5"/></dir></dir><dir name="Block"><file name="PaymentInfo.php" hash="7aa15fed37766d20d9d5a7d707aff80d"/></dir><dir name="Ebaypayment"><dir name="Model"><file name="Paymentmethod.php" hash="480787461a5b952a739f20a752bffb5d"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="9503ace98df8dfa2f2ec460b30e1053d"/><file name="config.xml" hash="7667f6a4c915a474fd78e23651cbadb3"/></dir><dir name="Model"><file name="Observer.php" hash="8b309ae85f2bf696e97ff6777c1d64f2"/><file name="Sync.php" hash="3ff43933063a632ad1a6c4bc4593d8b6"/><dir name="Indexer"><file name="Ebay.php" hash="556b1aabc7c3202f31a2e6c250e7d590"/></dir><dir name="Resource"><dir name="Mysql4"><file name="Setup.php" hash="6a6664ea18d93bcdd0f45530caa56244"/></dir></dir></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><file name="Codisto_Sync.xml" hash="a791bc2a9302d085eb29edf77421f525"/></dir></dir></dir></target></contents></package>
1
<?xml version="1.0"?>
2
+ <package><name>codistoconnect</name><version>1.90.13</version><stability>stable</stability><license>OSL-3.0</license><channel>community</channel><extends></extends><summary>Fastest, Easiest eBay listing</summary><description>CodistoConnect enables you to list on eBay in the simplest way possible with maximum performance</description><notes></notes><authors><author><name>Codisto</name><user>Codisto</user><email>hello@codisto.com</email></author></authors><date>2016-09-15</date><time>18:27:54</time><compatible></compatible><dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies><contents><target name="mage"><dir name="app"><dir name="design"><dir name="ebay"><file name="README" hash="8a3f3351f68ccde9f161cdbe3960392f"/></dir></dir><dir name="code"><dir name="community"><dir name="Codisto"><dir name="Sync"><dir name="Helper"><file name="CmsContent.php" hash="f00b4523d681c60c660089d0de0f2e03"/><file name="Data.php" hash="47f7bc430c410c9989da367a8daff645"/><file name="Signal.php" hash="b624f962056ceffae9c3160ed3e5655e"/></dir><dir name="controllers"><file name="CodistoController.php" hash="eccbf167582d60ae559b7455b9b8e7ea"/><file name="IndexController.php" hash="62e550f21def246ae4a77b531213e988"/><file name="SyncController.php" hash="330295cefacba45b90b4f6e6fb68d72c"/></dir><dir name="Controller"><file name="Router.php" hash="66d43bfbe826fe525dc764d42146cd50"/></dir><dir name="Test"><file name="README" hash="8299e52f9198536ff5fd3fb42f4a29d8"/><dir name="Config"><file name="AdminHtml.php" hash="6ee6404e52ed6376ad41b7556f265c32"/><file name="Config.php" hash="2e9023fcbab484d03936394934f44f13"/><dir name="Config"><dir name="expectations"><file name="testCodistoCoreConfig.yaml" hash="4a4e07f62981139ff6eb8a63420cbf0d"/></dir></dir></dir><dir name="Controllers"><file name="CodistoController.php" hash="a2be4faeac73ff1847c0d7dc4fbdc0e0"/><file name="IndexController.php" hash="f7252fae8d2f7b67397ae56524db49d1"/><file name="SyncController.php" hash="33436e4935631488073765d723a82ff7"/></dir><dir name="Controller"><file name="Router.php" hash="8afc0dca269dd0977ff6b3ac6802d0ee"/></dir><dir name="Model"><file name="Paymentmethod.php" hash="862365909073ffbba057f6f152933826"/><file name="Sync.php" hash="10a38bbb62260208a8b1529e762b7b75"/></dir></dir><dir name="sql"><dir name="codisto_setup"><file name="mysql4-install-1.90.13.php" hash="6d07d4e22ae5d907df1f4389c3a829d4"/></dir></dir><dir name="data"><dir name="codisto_setup"><file name="data-install-1.90.13.php" hash="29334830432cf1a02e4a992b9a42d6c5"/></dir></dir><dir name="Block"><file name="PaymentInfo.php" hash="7aa15fed37766d20d9d5a7d707aff80d"/></dir><dir name="Ebaypayment"><dir name="Model"><file name="Paymentmethod.php" hash="480787461a5b952a739f20a752bffb5d"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="9503ace98df8dfa2f2ec460b30e1053d"/><file name="config.xml" hash="5805b63c65ce69578d5d27d62a083491"/></dir><dir name="Model"><file name="Observer.php" hash="8b309ae85f2bf696e97ff6777c1d64f2"/><file name="Sync.php" hash="35f5368c4a6db2cfbc0fdb5934621d6e"/><dir name="Indexer"><file name="Ebay.php" hash="556b1aabc7c3202f31a2e6c250e7d590"/></dir><dir name="Resource"><dir name="Mysql4"><file name="Setup.php" hash="6a6664ea18d93bcdd0f45530caa56244"/></dir></dir></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><file name="Codisto_Sync.xml" hash="a791bc2a9302d085eb29edf77421f525"/></dir></dir></dir></target></contents></package>