Version Notes
minor bug fixes
Download this release
Release Info
Developer | Albert Andrejev |
Extension | LinnLiveConnect |
Version | 1.0.39 |
Comparing to | |
See all releases |
Code changes from version 1.1.38 to 1.0.39
app/code/local/LinnSystems/LinnLiveConnect/Model/Api/V2.php
CHANGED
@@ -79,7 +79,7 @@ class Factory{
|
|
79 |
$version = intval($version);
|
80 |
|
81 |
if ($version == 0)
|
82 |
-
throw new Mage_Api_Exception('
|
83 |
if (Settings::$VERSION < $version )
|
84 |
throw new Mage_Api_Exception('wrong_version');
|
85 |
}
|
@@ -390,7 +390,8 @@ class LinnLiveMain extends Mage_Core_Model_Abstract{
|
|
390 |
$indexer = Mage::getSingleton('index/indexer');
|
391 |
$process = $indexer->getProcessByCode('catalog_product_price');
|
392 |
$process->reindexEverything();
|
393 |
-
}
|
|
|
394 |
throw new Mage_Api_Exception('configurable_creating_error', $e->getMessage());
|
395 |
}
|
396 |
}
|
@@ -532,6 +533,20 @@ class LinnLiveMain extends Mage_Core_Model_Abstract{
|
|
532 |
return $this->_getStore()->getCode();
|
533 |
}
|
534 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
535 |
private function _getStore($storeCode=null)
|
536 |
{
|
537 |
if (Mage::app()->isSingleStoreMode()) {
|
@@ -695,10 +710,10 @@ class LinnLiveMain extends Mage_Core_Model_Abstract{
|
|
695 |
|
696 |
|
697 |
/*
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
public function configurableProduct($set, $sku, $reindex, $productData, $productsSet, $attributesSet, $store=null)
|
703 |
{
|
704 |
if (!$set || !$sku) {
|
@@ -737,26 +752,34 @@ class LinnLiveMain extends Mage_Core_Model_Abstract{
|
|
737 |
|
738 |
public function updateConfigurableProduct($productId, $reindex, $productData, $productsSet, $attributesSet, $store=null, $identifierType='id')
|
739 |
{
|
740 |
-
if ($identifierType == 'id')
|
741 |
-
{
|
742 |
-
$productId = intval($productId);
|
743 |
|
744 |
-
if ($productId < 1) {
|
745 |
-
throw new Mage_Api_Exception('product_not_exists', null);
|
746 |
-
}
|
747 |
-
}
|
748 |
|
749 |
$this->_prepareConfigurableData($store, $productData, $assignedProductsArray,
|
750 |
$attributesSetArray, $productsSet, $attributesSet);
|
751 |
|
752 |
try {
|
753 |
$storeId = Mage::app()->getStore($store)->getId();
|
754 |
-
}
|
|
|
755 |
throw new Mage_Api_Exception('store_not_exists', null);
|
756 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
757 |
|
758 |
$_loadedProduct = Mage::helper('catalog/product')->getProduct($productId, $storeId, $identifierType);
|
759 |
|
|
|
|
|
|
|
|
|
|
|
760 |
$_categoryIds = $_loadedProduct->getCategoryIds();
|
761 |
if (property_exists($productData, 'category_ids'))
|
762 |
{
|
@@ -808,8 +831,8 @@ class LinnLiveMain extends Mage_Core_Model_Abstract{
|
|
808 |
}
|
809 |
|
810 |
/*
|
811 |
-
|
812 |
-
|
813 |
public function storesList()
|
814 |
{
|
815 |
return ($this->_getCurrentVersion() >= 160);
|
@@ -822,24 +845,33 @@ class LinnLiveMain extends Mage_Core_Model_Abstract{
|
|
822 |
|
823 |
public function deleteAssigned($productId, $store=null, $identifierType='id')
|
824 |
{
|
825 |
-
if ($identifierType == 'id')
|
826 |
-
{
|
827 |
-
$productId = intval($productId);
|
828 |
-
|
829 |
-
if ($productId < 1) {
|
830 |
-
throw new Mage_Api_Exception('product_not_exists', null);
|
831 |
-
}
|
832 |
-
}
|
833 |
-
|
834 |
$store = $this->_currentStoreCode($store);
|
835 |
|
836 |
try {
|
837 |
$storeId = Mage::app()->getStore($store)->getId();
|
838 |
-
}
|
|
|
839 |
throw new Mage_Api_Exception('store_not_exists', null);
|
840 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
841 |
|
842 |
$_loadedProduct = Mage::helper('catalog/product')->getProduct($productId, $storeId, $identifierType);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
843 |
$currentWebsites = $_loadedProduct->getWebsiteIds();
|
844 |
$websiteId = $this->_getWebsiteId($store);
|
845 |
$websiteId = $websiteId[0];
|
@@ -925,12 +957,12 @@ class LinnLiveMain extends Mage_Core_Model_Abstract{
|
|
925 |
}
|
926 |
|
927 |
/*
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
public function productList($page, $perPage, $filters = null, $store = null)
|
935 |
{
|
936 |
$arrayParams = array(
|
@@ -942,7 +974,8 @@ class LinnLiveMain extends Mage_Core_Model_Abstract{
|
|
942 |
|
943 |
try {
|
944 |
$storeId = Mage::app()->getStore($store)->getId();
|
945 |
-
}
|
|
|
946 |
throw new Mage_Api_Exception('store_not_exists', null);
|
947 |
}
|
948 |
|
@@ -999,7 +1032,8 @@ class LinnLiveMain extends Mage_Core_Model_Abstract{
|
|
999 |
foreach ($preparedFilters as $field => $value) {
|
1000 |
$collection->addFieldToFilter($field, $value);
|
1001 |
}
|
1002 |
-
}
|
|
|
1003 |
throw new Mage_Api_Exception('filters_invalid', $e->getMessage());
|
1004 |
}
|
1005 |
}
|
@@ -1179,24 +1213,31 @@ class LinnLiveMain extends Mage_Core_Model_Abstract{
|
|
1179 |
|
1180 |
public function update($productId, $productData, $store = null, $identifierType = 'id')
|
1181 |
{
|
1182 |
-
if ($identifierType == 'id')
|
1183 |
-
{
|
1184 |
-
$productId = intval($productId);
|
1185 |
-
|
1186 |
-
if ($productId < 1) {
|
1187 |
-
throw new Mage_Api_Exception('product_not_exists', null);
|
1188 |
-
}
|
1189 |
-
}
|
1190 |
-
|
1191 |
$store = $this->_currentStoreCode($store);
|
1192 |
try {
|
1193 |
$storeId = Mage::app()->getStore($store)->getId();
|
1194 |
-
}
|
|
|
1195 |
throw new Mage_Api_Exception('store_not_exists', null);
|
1196 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1197 |
|
1198 |
$_loadedProduct = Mage::helper('catalog/product')->getProduct($productId, $storeId, $identifierType);
|
1199 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1200 |
$_categoryIds = $_loadedProduct->getCategoryIds();
|
1201 |
if (property_exists($productData, 'category_ids'))
|
1202 |
{
|
@@ -1251,6 +1292,11 @@ class LinnLiveMain extends Mage_Core_Model_Abstract{
|
|
1251 |
|
1252 |
public function create($type, $set, $sku, $productData, $store = null)
|
1253 |
{
|
|
|
|
|
|
|
|
|
|
|
1254 |
$store = $this->_currentStoreCode($store);
|
1255 |
|
1256 |
$DefaultStore = $this->_getStore();
|
@@ -1397,7 +1443,7 @@ class LinnLiveEnterprise extends LinnLiveMain{
|
|
1397 |
}
|
1398 |
else
|
1399 |
{
|
1400 |
-
|
1401 |
}
|
1402 |
}
|
1403 |
else
|
@@ -1408,7 +1454,7 @@ class LinnLiveEnterprise extends LinnLiveMain{
|
|
1408 |
}
|
1409 |
else
|
1410 |
{
|
1411 |
-
|
1412 |
}
|
1413 |
}
|
1414 |
$i++;
|
79 |
$version = intval($version);
|
80 |
|
81 |
if ($version == 0)
|
82 |
+
throw new Mage_Api_Exception('version_not_specified');
|
83 |
if (Settings::$VERSION < $version )
|
84 |
throw new Mage_Api_Exception('wrong_version');
|
85 |
}
|
390 |
$indexer = Mage::getSingleton('index/indexer');
|
391 |
$process = $indexer->getProcessByCode('catalog_product_price');
|
392 |
$process->reindexEverything();
|
393 |
+
}
|
394 |
+
catch (Mage_Core_Exception $e) {
|
395 |
throw new Mage_Api_Exception('configurable_creating_error', $e->getMessage());
|
396 |
}
|
397 |
}
|
533 |
return $this->_getStore()->getCode();
|
534 |
}
|
535 |
|
536 |
+
private function _getProductBySku($sku)
|
537 |
+
{
|
538 |
+
if($sku){
|
539 |
+
$product = Mage::getModel('catalog/product');
|
540 |
+
$productId = $product->getIdBySku((string)$sku);
|
541 |
+
if($productId){
|
542 |
+
$product->load($productId);
|
543 |
+
if($product->getId()){
|
544 |
+
return $product;
|
545 |
+
}
|
546 |
+
}
|
547 |
+
}
|
548 |
+
}
|
549 |
+
|
550 |
private function _getStore($storeCode=null)
|
551 |
{
|
552 |
if (Mage::app()->isSingleStoreMode()) {
|
710 |
|
711 |
|
712 |
/*
|
713 |
+
*
|
714 |
+
* Public functions(API)
|
715 |
+
*
|
716 |
+
*/
|
717 |
public function configurableProduct($set, $sku, $reindex, $productData, $productsSet, $attributesSet, $store=null)
|
718 |
{
|
719 |
if (!$set || !$sku) {
|
752 |
|
753 |
public function updateConfigurableProduct($productId, $reindex, $productData, $productsSet, $attributesSet, $store=null, $identifierType='id')
|
754 |
{
|
|
|
|
|
|
|
755 |
|
|
|
|
|
|
|
|
|
756 |
|
757 |
$this->_prepareConfigurableData($store, $productData, $assignedProductsArray,
|
758 |
$attributesSetArray, $productsSet, $attributesSet);
|
759 |
|
760 |
try {
|
761 |
$storeId = Mage::app()->getStore($store)->getId();
|
762 |
+
}
|
763 |
+
catch (Mage_Core_Model_Store_Exception $e) {
|
764 |
throw new Mage_Api_Exception('store_not_exists', null);
|
765 |
}
|
766 |
+
/*
|
767 |
+
if ($identifierType == 'id')
|
768 |
+
{
|
769 |
+
$productId = intval($productId);
|
770 |
+
|
771 |
+
if ($productId < 1) {
|
772 |
+
throw new Mage_Api_Exception('product_not_exists', null);
|
773 |
+
}
|
774 |
+
}*/
|
775 |
|
776 |
$_loadedProduct = Mage::helper('catalog/product')->getProduct($productId, $storeId, $identifierType);
|
777 |
|
778 |
+
if (!$_loadedProduct->getId())
|
779 |
+
{
|
780 |
+
throw new Mage_Api_Exception('product_not_exists', null);
|
781 |
+
}
|
782 |
+
|
783 |
$_categoryIds = $_loadedProduct->getCategoryIds();
|
784 |
if (property_exists($productData, 'category_ids'))
|
785 |
{
|
831 |
}
|
832 |
|
833 |
/*
|
834 |
+
* Checks if this Magento server has valid Extension installed
|
835 |
+
*/
|
836 |
public function storesList()
|
837 |
{
|
838 |
return ($this->_getCurrentVersion() >= 160);
|
845 |
|
846 |
public function deleteAssigned($productId, $store=null, $identifierType='id')
|
847 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
848 |
$store = $this->_currentStoreCode($store);
|
849 |
|
850 |
try {
|
851 |
$storeId = Mage::app()->getStore($store)->getId();
|
852 |
+
}
|
853 |
+
catch (Mage_Core_Model_Store_Exception $e) {
|
854 |
throw new Mage_Api_Exception('store_not_exists', null);
|
855 |
}
|
856 |
+
/*
|
857 |
+
if ($identifierType == 'id')
|
858 |
+
{
|
859 |
+
$productId = intval($productId);
|
860 |
+
|
861 |
+
if ($productId < 1) {
|
862 |
+
throw new Mage_Api_Exception('product_not_exists', null);
|
863 |
+
}
|
864 |
+
}*/
|
865 |
+
|
866 |
|
867 |
$_loadedProduct = Mage::helper('catalog/product')->getProduct($productId, $storeId, $identifierType);
|
868 |
+
|
869 |
+
if (!$_loadedProduct->getId())
|
870 |
+
{
|
871 |
+
throw new Mage_Api_Exception('product_not_exists', null);
|
872 |
+
}
|
873 |
+
|
874 |
+
|
875 |
$currentWebsites = $_loadedProduct->getWebsiteIds();
|
876 |
$websiteId = $this->_getWebsiteId($store);
|
877 |
$websiteId = $websiteId[0];
|
957 |
}
|
958 |
|
959 |
/*
|
960 |
+
* Implementation of catalogProductList because of bug in associativeArray.
|
961 |
+
* Extended to filter by category id too.
|
962 |
+
*
|
963 |
+
* Use 'entity_id' for product_id,
|
964 |
+
* 'type_id' instead of product type.
|
965 |
+
*/
|
966 |
public function productList($page, $perPage, $filters = null, $store = null)
|
967 |
{
|
968 |
$arrayParams = array(
|
974 |
|
975 |
try {
|
976 |
$storeId = Mage::app()->getStore($store)->getId();
|
977 |
+
}
|
978 |
+
catch (Mage_Core_Model_Store_Exception $e) {
|
979 |
throw new Mage_Api_Exception('store_not_exists', null);
|
980 |
}
|
981 |
|
1032 |
foreach ($preparedFilters as $field => $value) {
|
1033 |
$collection->addFieldToFilter($field, $value);
|
1034 |
}
|
1035 |
+
}
|
1036 |
+
catch (Mage_Core_Exception $e) {
|
1037 |
throw new Mage_Api_Exception('filters_invalid', $e->getMessage());
|
1038 |
}
|
1039 |
}
|
1213 |
|
1214 |
public function update($productId, $productData, $store = null, $identifierType = 'id')
|
1215 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1216 |
$store = $this->_currentStoreCode($store);
|
1217 |
try {
|
1218 |
$storeId = Mage::app()->getStore($store)->getId();
|
1219 |
+
}
|
1220 |
+
catch (Mage_Core_Model_Store_Exception $e) {
|
1221 |
throw new Mage_Api_Exception('store_not_exists', null);
|
1222 |
}
|
1223 |
+
/*
|
1224 |
+
if ($identifierType == 'id')
|
1225 |
+
{
|
1226 |
+
$productId = intval($productId);
|
1227 |
+
|
1228 |
+
if ($productId < 1) {
|
1229 |
+
throw new Mage_Api_Exception('product_not_exists', null);
|
1230 |
+
}
|
1231 |
+
}*/
|
1232 |
|
1233 |
$_loadedProduct = Mage::helper('catalog/product')->getProduct($productId, $storeId, $identifierType);
|
1234 |
|
1235 |
+
if (!$_loadedProduct->getId())
|
1236 |
+
{
|
1237 |
+
throw new Mage_Api_Exception('product_not_exists', null);
|
1238 |
+
}
|
1239 |
+
|
1240 |
+
|
1241 |
$_categoryIds = $_loadedProduct->getCategoryIds();
|
1242 |
if (property_exists($productData, 'category_ids'))
|
1243 |
{
|
1292 |
|
1293 |
public function create($type, $set, $sku, $productData, $store = null)
|
1294 |
{
|
1295 |
+
$product = $this->_getProductBySku($sku);
|
1296 |
+
if($product){
|
1297 |
+
return $product->getId();
|
1298 |
+
}
|
1299 |
+
|
1300 |
$store = $this->_currentStoreCode($store);
|
1301 |
|
1302 |
$DefaultStore = $this->_getStore();
|
1443 |
}
|
1444 |
else
|
1445 |
{
|
1446 |
+
$productData->additional_attributes->single_data[$i]->value = $_availableOptions[$option->attribute_id][strtolower($option->label)];
|
1447 |
}
|
1448 |
}
|
1449 |
else
|
1454 |
}
|
1455 |
else
|
1456 |
{
|
1457 |
+
$productData->additional_attributes->single_data[$i]->value = $option->value;
|
1458 |
}
|
1459 |
}
|
1460 |
$i++;
|
app/code/local/LinnSystems/LinnLiveConnect/etc/api.xml
CHANGED
@@ -65,19 +65,19 @@
|
|
65 |
</product_type_not_exists>
|
66 |
<product_attribute_set_not_exists>
|
67 |
<code>102</code>
|
68 |
-
<message>Product attribute set is not existed
|
69 |
</product_attribute_set_not_exists>
|
70 |
<product_attribute_set_not_valid>
|
71 |
<code>103</code>
|
72 |
-
<message>Product attribute set is not belong catalog product entity type
|
73 |
</product_attribute_set_not_valid>
|
74 |
<products_not_suitable>
|
75 |
<code>104</code>
|
76 |
-
<message>Product not suitable to be used in configurable product
|
77 |
</products_not_suitable>
|
78 |
<configurable_creating_error>
|
79 |
<code>105</code>
|
80 |
-
<message>Configurable product creating error
|
81 |
</configurable_creating_error>
|
82 |
<wrong_version>
|
83 |
<code>106</code>
|
@@ -87,8 +87,33 @@ and click on "Check for Upgrades", and upgrade you LinnLiveConnect extension to
|
|
87 |
</wrong_version>
|
88 |
<attribute_not_exists>
|
89 |
<code>107</code>
|
90 |
-
<message>Attribute not found
|
91 |
</attribute_not_exists>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
</faults>
|
93 |
</linnLive>
|
94 |
</resources>
|
65 |
</product_type_not_exists>
|
66 |
<product_attribute_set_not_exists>
|
67 |
<code>102</code>
|
68 |
+
<message>Product attribute set is not existed.</message>
|
69 |
</product_attribute_set_not_exists>
|
70 |
<product_attribute_set_not_valid>
|
71 |
<code>103</code>
|
72 |
+
<message>Product attribute set is not belong catalog product entity type.</message>
|
73 |
</product_attribute_set_not_valid>
|
74 |
<products_not_suitable>
|
75 |
<code>104</code>
|
76 |
+
<message>Product not suitable to be used in configurable product.</message>
|
77 |
</products_not_suitable>
|
78 |
<configurable_creating_error>
|
79 |
<code>105</code>
|
80 |
+
<message>Configurable product creating error.</message>
|
81 |
</configurable_creating_error>
|
82 |
<wrong_version>
|
83 |
<code>106</code>
|
87 |
</wrong_version>
|
88 |
<attribute_not_exists>
|
89 |
<code>107</code>
|
90 |
+
<message>Attribute not found.</message>
|
91 |
</attribute_not_exists>
|
92 |
+
<product_not_exists>
|
93 |
+
<code>108</code>
|
94 |
+
<message>Product not found.</message>
|
95 |
+
</product_not_exists>
|
96 |
+
<store_not_exists>
|
97 |
+
<code>109</code>
|
98 |
+
<message>Store not found.</message>
|
99 |
+
</store_not_exists>
|
100 |
+
<unsupported_edition>
|
101 |
+
<code>110</code>
|
102 |
+
<message>Unsupported edition.</message>
|
103 |
+
</unsupported_edition>
|
104 |
+
<filters_invalid>
|
105 |
+
<code>111</code>
|
106 |
+
<message>Invalid filters.</message>
|
107 |
+
</filters_invalid>
|
108 |
+
<filters_invalid>
|
109 |
+
<code>111</code>
|
110 |
+
<message>Invalid filters.</message>
|
111 |
+
</filters_invalid>
|
112 |
+
<version_not_specified>
|
113 |
+
<code>112</code>
|
114 |
+
<message>Version is not specified.</message>
|
115 |
+
</version_not_specified>
|
116 |
+
|
117 |
</faults>
|
118 |
</linnLive>
|
119 |
</resources>
|
app/etc/modules/LinnSystems_LinnLiveConnect.xml
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<config>
|
3 |
-
<modules>
|
4 |
-
<LinnSystems_LinnLiveConnect>
|
5 |
-
<active>true</active>
|
6 |
-
<codePool>local</codePool>
|
7 |
-
</LinnSystems_LinnLiveConnect>
|
8 |
-
</modules>
|
9 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
package.xml
CHANGED
@@ -1,21 +1,19 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>LinnLiveConnect</name>
|
4 |
-
<version>1.
|
5 |
-
<stability>
|
6 |
<license>GPL v2</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Extended SOAP WS-I compliant API to support integration with LinnLive2.</summary>
|
10 |
<description>Extended SOAP WS-I compliant API to support integration with LinnLive2 (http://www.linnlive.com).
|
11 |
Contains some workarounds to avoid bugs in original Magento modules and additional functionality to operate Magento store remotely.</description>
|
12 |
-
<notes>
|
13 |
-
|
14 |
-
</
|
15 |
-
<
|
16 |
-
<
|
17 |
-
<time>11:59:03</time>
|
18 |
-
<contents><target name="magelocal"><dir name="LinnSystems"><dir name="LinnLiveConnect"><dir name="Helper"><file name="Data.php" hash="5fe5216de67d4e69a0f418b0cd7780ee"/></dir><dir name="Model"><dir name="Api"><file name="V2.php" hash="488b6fe5c1eb60f1d812387cf570a046"/></dir></dir><dir name="etc"><file name="api.xml" hash="2d53cb9b318de468f6d2e3d388bb8732"/><file name="config.xml" hash="2d1d6338d93e36b730efde622893b4e6"/><file name="wsdl.xml" hash="fc21f2963c1253f5f40e5e8414312174"/><file name="wsi.xml" hash="ef000d5115f5988664f58df8b9139e5e"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="LinnSystems_LinnLiveConnect.xml" hash="19c48712cd0516815d6784592ada0881"/></dir></target></contents>
|
19 |
<compatible/>
|
20 |
-
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
21 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>LinnLiveConnect</name>
|
4 |
+
<version>1.0.39</version>
|
5 |
+
<stability>beta</stability>
|
6 |
<license>GPL v2</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Extended SOAP WS-I compliant API to support integration with LinnLive2.</summary>
|
10 |
<description>Extended SOAP WS-I compliant API to support integration with LinnLive2 (http://www.linnlive.com).
|
11 |
Contains some workarounds to avoid bugs in original Magento modules and additional functionality to operate Magento store remotely.</description>
|
12 |
+
<notes>minor bug fixes</notes>
|
13 |
+
<authors><author><name>Albert Andrejev</name><user>albert_andrejev</user><email>albert@linnsystems.com</email></author></authors>
|
14 |
+
<date>2014-04-16</date>
|
15 |
+
<time>10:30:17</time>
|
16 |
+
<contents><target name="magelocal"><dir name="LinnSystems"><dir name="LinnLiveConnect"><dir name="Helper"><file name="Data.php" hash="5fe5216de67d4e69a0f418b0cd7780ee"/></dir><dir name="Model"><dir name="Api"><file name="V2.php" hash="935a40c9f311e3f4fe379ce6066e2b1c"/></dir></dir><dir name="etc"><file name="api.xml" hash="cfb207e1a27826802b0bbef69a4213a6"/><file name="config.xml" hash="2d1d6338d93e36b730efde622893b4e6"/><file name="wsdl.xml" hash="fc21f2963c1253f5f40e5e8414312174"/><file name="wsi.xml" hash="ef000d5115f5988664f58df8b9139e5e"/></dir></dir></dir></target></contents>
|
|
|
|
|
17 |
<compatible/>
|
18 |
+
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><package><name></name><channel>connect.magentocommerce.com/core</channel><min></min><max></max></package></required></dependencies>
|
19 |
</package>
|