Version Notes
No notes
Download this release
Release Info
| Developer | Yireo |
| Extension | Yireo_Vm2Mage |
| Version | 0.10.28 |
| Comparing to | |
| See all releases | |
Code changes from version 0.10.25 to 0.10.28
app/code/community/Yireo/Vm2Mage/Helper/Data.php
CHANGED
|
@@ -73,9 +73,12 @@ class Yireo_Vm2Mage_Helper_Data extends Mage_Core_Helper_Abstract
|
|
| 73 |
}
|
| 74 |
|
| 75 |
$logfile = self::getDebugLog();
|
| 76 |
-
|
| 77 |
-
|
|
|
|
| 78 |
}
|
|
|
|
|
|
|
| 79 |
}
|
| 80 |
|
| 81 |
/*
|
|
@@ -132,10 +135,16 @@ class Yireo_Vm2Mage_Helper_Data extends Mage_Core_Helper_Abstract
|
|
| 132 |
$value = Mage::helper('vm2mage')->decodeString($value);
|
| 133 |
}
|
| 134 |
|
|
|
|
| 135 |
$name = Mage::helper('vm2mage')->decodeString($name);
|
|
|
|
| 136 |
if(!empty($value)) {
|
| 137 |
$array[$name] = $value;
|
| 138 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 139 |
}
|
| 140 |
return $array;
|
| 141 |
}
|
|
@@ -152,4 +161,38 @@ class Yireo_Vm2Mage_Helper_Data extends Mage_Core_Helper_Abstract
|
|
| 152 |
|
| 153 |
return $string;
|
| 154 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 155 |
}
|
| 73 |
}
|
| 74 |
|
| 75 |
$logfile = self::getDebugLog();
|
| 76 |
+
|
| 77 |
+
if(!is_writable($logfile)) {
|
| 78 |
+
throw new Exception('Logfile '.$logfile.' not writable');
|
| 79 |
}
|
| 80 |
+
|
| 81 |
+
file_put_contents($logfile, $string."\n", FILE_APPEND);
|
| 82 |
}
|
| 83 |
|
| 84 |
/*
|
| 135 |
$value = Mage::helper('vm2mage')->decodeString($value);
|
| 136 |
}
|
| 137 |
|
| 138 |
+
$originalName = $name;
|
| 139 |
$name = Mage::helper('vm2mage')->decodeString($name);
|
| 140 |
+
|
| 141 |
if(!empty($value)) {
|
| 142 |
$array[$name] = $value;
|
| 143 |
}
|
| 144 |
+
|
| 145 |
+
if ($name != $originalName) {
|
| 146 |
+
unset($array[$originalName]);
|
| 147 |
+
}
|
| 148 |
}
|
| 149 |
return $array;
|
| 150 |
}
|
| 161 |
|
| 162 |
return $string;
|
| 163 |
}
|
| 164 |
+
|
| 165 |
+
public function getStoreId($data)
|
| 166 |
+
{
|
| 167 |
+
if (is_array($data)) {
|
| 168 |
+
if (!empty($data['store_id'])) {
|
| 169 |
+
$data = $data['store_id'];
|
| 170 |
+
} elseif (!empty($data['store'])) {
|
| 171 |
+
$data = $data['store'];
|
| 172 |
+
}
|
| 173 |
+
}
|
| 174 |
+
|
| 175 |
+
if (!empty($data) && (is_string($data) || is_numeric($data))) {
|
| 176 |
+
$store = Mage::getModel('core/store')->load($data);
|
| 177 |
+
$storeId = $store->getId();
|
| 178 |
+
if ($storeId > 0) {
|
| 179 |
+
return $storeId;
|
| 180 |
+
}
|
| 181 |
+
}
|
| 182 |
+
|
| 183 |
+
return $this->getDefaultWebsite()->getDefaultStore()->getId();
|
| 184 |
+
}
|
| 185 |
+
|
| 186 |
+
public function getDefaultStoreId($data)
|
| 187 |
+
{
|
| 188 |
+
$currentStoreId = $this->getStoreId($data);
|
| 189 |
+
$websiteId = Mage::getModel('core/store')->load($currentStoreId)->getWebsiteId();
|
| 190 |
+
return Mage::app()->getWebsite($websiteId)->getDefaultGroup()->getDefaultStoreId();
|
| 191 |
+
}
|
| 192 |
+
|
| 193 |
+
public function getDefaultWebsite()
|
| 194 |
+
{
|
| 195 |
+
$websites = Mage::app()->getWebsites();
|
| 196 |
+
return $websites[1];
|
| 197 |
+
}
|
| 198 |
}
|
app/code/community/Yireo/Vm2Mage/Helper/Image.php
CHANGED
|
@@ -44,15 +44,61 @@ class Yireo_Vm2Mage_Helper_Image extends Yireo_Vm2Mage_Helper_Data
|
|
| 44 |
Mage::helper('vm2mage')->debug('No download-methods available');
|
| 45 |
return null;
|
| 46 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
|
| 48 |
/*
|
| 49 |
* Add all remote images to this product
|
| 50 |
*
|
| 51 |
* @param Mage_Catalog_Model_Product $product
|
| 52 |
* @param array $images
|
| 53 |
-
* @return
|
| 54 |
*/
|
| 55 |
-
public function addImages(
|
| 56 |
{
|
| 57 |
// Option to renew images or not
|
| 58 |
$renewImages = (bool)Mage::getStoreConfig('vm2mage/settings/renew_images');
|
|
@@ -74,64 +120,32 @@ class Yireo_Vm2Mage_Helper_Image extends Yireo_Vm2Mage_Helper_Data
|
|
| 74 |
}
|
| 75 |
|
| 76 |
// Detect images first
|
| 77 |
-
$
|
| 78 |
-
$hasThumbImage = false;
|
| 79 |
-
if(is_array($images) && !empty($images)) {
|
| 80 |
-
foreach($images as $image) {
|
| 81 |
-
if(empty($image['type'])) $image['type'] = null;
|
| 82 |
-
|
| 83 |
-
if($image['type'] == 'full_image') $hasFullImage = true;
|
| 84 |
-
if($image['type'] == 'thumbnail') $hasThumbImage = true;
|
| 85 |
-
}
|
| 86 |
-
}
|
| 87 |
|
| 88 |
// Loop through the images and create them
|
| 89 |
$migratedFiles = array();
|
| 90 |
if(is_array($images) && !empty($images)) {
|
| 91 |
foreach($images as $image) {
|
| 92 |
|
| 93 |
-
if(empty($image['md5sum'])) $image['md5sum'] = null;
|
| 94 |
-
if(empty($image['label'])) $image['label'] = $product->getName();
|
| 95 |
-
if(empty($image['file'])) $image['file'] = null;
|
| 96 |
if(!empty($image['md5sum']) && in_array($image['md5sum'], $migratedFiles)) continue;
|
|
|
|
| 97 |
|
| 98 |
-
$imageTypes =
|
| 99 |
|
| 100 |
if(count($images) == 1) {
|
| 101 |
$imageTypes[] = 'thumbnail';
|
| 102 |
$imageTypes[] = 'image';
|
| 103 |
$imageTypes[] = 'small_image';
|
| 104 |
-
|
| 105 |
-
} elseif($image['type'] == 'full_image') {
|
| 106 |
-
$imageTypes[] = 'image';
|
| 107 |
-
$imageTypes[] = 'small_image';
|
| 108 |
-
if(count($images) == 1) $imageTypes[] = 'thumbnail';
|
| 109 |
-
|
| 110 |
-
} elseif($image['type'] == 'thumb_image') {
|
| 111 |
-
$imageTypes[] = 'thumbnail';
|
| 112 |
}
|
| 113 |
|
| 114 |
-
if($hasFullImage == false) {
|
| 115 |
-
$imageTypes[] = 'image';
|
| 116 |
-
$imageTypes[] = 'small_image';
|
| 117 |
-
$hasFullImage = true;
|
| 118 |
-
}
|
| 119 |
-
|
| 120 |
-
if($hasThumbImage == false) {
|
| 121 |
-
$imageTypes[] = 'thumbnail';
|
| 122 |
-
$hasThumbImage = true;
|
| 123 |
-
}
|
| 124 |
-
|
| 125 |
$imageTypes = array_unique($imageTypes);
|
| 126 |
|
| 127 |
$result = self::addLocalImage($product, $image['file'], $image['label'], $imageTypes);
|
| 128 |
if($result != false) {
|
| 129 |
-
$product = $result;
|
| 130 |
$migratedFiles[] = $image['md5sum'];
|
| 131 |
} elseif(!empty($image['url'])) {
|
| 132 |
-
$result = self::addRemoteImage($product, $image['url'], $image['md5sum'], $image['
|
| 133 |
if($result != false) {
|
| 134 |
-
$product = $result;
|
| 135 |
$migratedFiles[] = $image['md5sum'];
|
| 136 |
}
|
| 137 |
}
|
|
@@ -141,7 +155,7 @@ class Yireo_Vm2Mage_Helper_Image extends Yireo_Vm2Mage_Helper_Data
|
|
| 141 |
// Save the product
|
| 142 |
$product->save();
|
| 143 |
|
| 144 |
-
return
|
| 145 |
}
|
| 146 |
|
| 147 |
/*
|
|
@@ -150,13 +164,11 @@ class Yireo_Vm2Mage_Helper_Image extends Yireo_Vm2Mage_Helper_Data
|
|
| 150 |
* @param Mage_Catalog_Model_Product $product
|
| 151 |
* @param string $url
|
| 152 |
* @param string $md5sum
|
| 153 |
-
* @param string $type
|
| 154 |
* @param string $label thumb_image|full_image|gallery
|
| 155 |
-
* @return
|
| 156 |
*/
|
| 157 |
-
public function addRemoteImage(
|
| 158 |
{
|
| 159 |
-
|
| 160 |
// Try to create the import-directory it it does not exist
|
| 161 |
$base_dir = Mage::getBaseDir('media').DS.'import';
|
| 162 |
if(!is_dir($base_dir)) @mkdir($base_dir);
|
|
@@ -203,7 +215,7 @@ class Yireo_Vm2Mage_Helper_Image extends Yireo_Vm2Mage_Helper_Data
|
|
| 203 |
}
|
| 204 |
|
| 205 |
// Return the changed product-object
|
| 206 |
-
return
|
| 207 |
}
|
| 208 |
|
| 209 |
/*
|
|
@@ -213,9 +225,9 @@ class Yireo_Vm2Mage_Helper_Image extends Yireo_Vm2Mage_Helper_Data
|
|
| 213 |
* @param string $file
|
| 214 |
* @param string $type
|
| 215 |
* @param string $label thumb_image|full_image|gallery
|
| 216 |
-
* @return
|
| 217 |
*/
|
| 218 |
-
public function addLocalImage(
|
| 219 |
{
|
| 220 |
// Check if local-image-loading is enabled
|
| 221 |
if(Mage::getStoreConfig('vm2mage/settings/local_images') == 0) {
|
|
@@ -271,6 +283,6 @@ class Yireo_Vm2Mage_Helper_Image extends Yireo_Vm2Mage_Helper_Data
|
|
| 271 |
}
|
| 272 |
|
| 273 |
// Return the changed product-object
|
| 274 |
-
return
|
| 275 |
}
|
| 276 |
}
|
| 44 |
Mage::helper('vm2mage')->debug('No download-methods available');
|
| 45 |
return null;
|
| 46 |
}
|
| 47 |
+
|
| 48 |
+
public function convertImages($images)
|
| 49 |
+
{
|
| 50 |
+
if(!is_array($images) || empty($images)) {
|
| 51 |
+
return $images;
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
+
$newImages = array();
|
| 55 |
+
foreach($images as $imageIndex => $image) {
|
| 56 |
+
|
| 57 |
+
if(empty($image['file']) && empty($image['url'])) {
|
| 58 |
+
unset($images[$imageIndex]);
|
| 59 |
+
continue;
|
| 60 |
+
}
|
| 61 |
+
|
| 62 |
+
if(!isset($image['md5sum'])) $image['md5sum'] = null;
|
| 63 |
+
if(!isset($image['file'])) $image['file'] = null;
|
| 64 |
+
if(!isset($image['type'])) $image['type'] = null;
|
| 65 |
+
if(!isset($image['url'])) $image['url'] = null;
|
| 66 |
+
if(!isset($image['types'])) $image['types'] = array();
|
| 67 |
+
|
| 68 |
+
if($image['type'] == 'full_image') {
|
| 69 |
+
$image['types'][] = 'image';
|
| 70 |
+
$image['types'][] = 'small_image';
|
| 71 |
+
}
|
| 72 |
+
|
| 73 |
+
if($image['type'] == 'thumb_image') {
|
| 74 |
+
$image['types'][] = 'thumbnail';
|
| 75 |
+
}
|
| 76 |
+
|
| 77 |
+
if($image['type'] == 'gallery') {
|
| 78 |
+
$image['types'][] = 'gallery';
|
| 79 |
+
}
|
| 80 |
+
|
| 81 |
+
unset($image['type']);
|
| 82 |
+
|
| 83 |
+
$hash = md5($image['file'].$image['url']);
|
| 84 |
+
if (!isset($newImages[$hash])) {
|
| 85 |
+
$newImages[$hash] = $image;
|
| 86 |
+
} else {
|
| 87 |
+
$newImages[$hash]['types'] = array_merge($newImages[$hash]['types'], $image['types']);
|
| 88 |
+
}
|
| 89 |
+
}
|
| 90 |
+
|
| 91 |
+
return $newImages;
|
| 92 |
+
}
|
| 93 |
|
| 94 |
/*
|
| 95 |
* Add all remote images to this product
|
| 96 |
*
|
| 97 |
* @param Mage_Catalog_Model_Product $product
|
| 98 |
* @param array $images
|
| 99 |
+
* @return bool
|
| 100 |
*/
|
| 101 |
+
public function addImages(&$product = null, $images = null)
|
| 102 |
{
|
| 103 |
// Option to renew images or not
|
| 104 |
$renewImages = (bool)Mage::getStoreConfig('vm2mage/settings/renew_images');
|
| 120 |
}
|
| 121 |
|
| 122 |
// Detect images first
|
| 123 |
+
$images = $this->convertImages($images);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 124 |
|
| 125 |
// Loop through the images and create them
|
| 126 |
$migratedFiles = array();
|
| 127 |
if(is_array($images) && !empty($images)) {
|
| 128 |
foreach($images as $image) {
|
| 129 |
|
|
|
|
|
|
|
|
|
|
| 130 |
if(!empty($image['md5sum']) && in_array($image['md5sum'], $migratedFiles)) continue;
|
| 131 |
+
if(empty($image['label'])) $image['label'] = $product->getName();
|
| 132 |
|
| 133 |
+
$imageTypes = $image['types'];
|
| 134 |
|
| 135 |
if(count($images) == 1) {
|
| 136 |
$imageTypes[] = 'thumbnail';
|
| 137 |
$imageTypes[] = 'image';
|
| 138 |
$imageTypes[] = 'small_image';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 139 |
}
|
| 140 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 141 |
$imageTypes = array_unique($imageTypes);
|
| 142 |
|
| 143 |
$result = self::addLocalImage($product, $image['file'], $image['label'], $imageTypes);
|
| 144 |
if($result != false) {
|
|
|
|
| 145 |
$migratedFiles[] = $image['md5sum'];
|
| 146 |
} elseif(!empty($image['url'])) {
|
| 147 |
+
$result = self::addRemoteImage($product, $image['url'], $image['md5sum'], $image['label'], $imageTypes);
|
| 148 |
if($result != false) {
|
|
|
|
| 149 |
$migratedFiles[] = $image['md5sum'];
|
| 150 |
}
|
| 151 |
}
|
| 155 |
// Save the product
|
| 156 |
$product->save();
|
| 157 |
|
| 158 |
+
return true;
|
| 159 |
}
|
| 160 |
|
| 161 |
/*
|
| 164 |
* @param Mage_Catalog_Model_Product $product
|
| 165 |
* @param string $url
|
| 166 |
* @param string $md5sum
|
|
|
|
| 167 |
* @param string $label thumb_image|full_image|gallery
|
| 168 |
+
* @return bool
|
| 169 |
*/
|
| 170 |
+
public function addRemoteImage(&$product = null, $url = null, $md5sum = null, $label = null, $types = array())
|
| 171 |
{
|
|
|
|
| 172 |
// Try to create the import-directory it it does not exist
|
| 173 |
$base_dir = Mage::getBaseDir('media').DS.'import';
|
| 174 |
if(!is_dir($base_dir)) @mkdir($base_dir);
|
| 215 |
}
|
| 216 |
|
| 217 |
// Return the changed product-object
|
| 218 |
+
return true;
|
| 219 |
}
|
| 220 |
|
| 221 |
/*
|
| 225 |
* @param string $file
|
| 226 |
* @param string $type
|
| 227 |
* @param string $label thumb_image|full_image|gallery
|
| 228 |
+
* @return bool
|
| 229 |
*/
|
| 230 |
+
public function addLocalImage(&$product = null, $file = null, $label = null, $types = array())
|
| 231 |
{
|
| 232 |
// Check if local-image-loading is enabled
|
| 233 |
if(Mage::getStoreConfig('vm2mage/settings/local_images') == 0) {
|
| 283 |
}
|
| 284 |
|
| 285 |
// Return the changed product-object
|
| 286 |
+
return true;
|
| 287 |
}
|
| 288 |
}
|
app/code/community/Yireo/Vm2Mage/Model/Product/Api.php
CHANGED
|
@@ -59,9 +59,16 @@ class Yireo_Vm2Mage_Model_Product_Api extends Mage_Catalog_Model_Product_Api
|
|
| 59 |
// Try to get the productId by looking for the SKU
|
| 60 |
$sku = $data['sku'];
|
| 61 |
$productId = Mage::getModel('catalog/product')->getIdBySku($sku);
|
| 62 |
-
$storeId = (
|
| 63 |
$taxId = (isset($data['product_tax_id'])) ? $data['product_tax_id'] : 0;
|
| 64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
// Load the product by its productId
|
| 66 |
if($productId > 0) {
|
| 67 |
$isNew = false;
|
|
@@ -312,7 +319,7 @@ class Yireo_Vm2Mage_Model_Product_Api extends Mage_Catalog_Model_Product_Api
|
|
| 312 |
}
|
| 313 |
|
| 314 |
// Configure this product as configurable product
|
| 315 |
-
if($data['has_children'] > 0) {
|
| 316 |
if($typeId == Mage_Catalog_Model_Product_Type::TYPE_GROUPED) {
|
| 317 |
$rs = Mage::helper('vm2mage/product')->addChildrenToGrouped($data['children'], $product);
|
| 318 |
} elseif($typeId == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE) {
|
|
@@ -327,7 +334,7 @@ class Yireo_Vm2Mage_Model_Product_Api extends Mage_Catalog_Model_Product_Api
|
|
| 327 |
// Get the remote images
|
| 328 |
if(isset($data['images'])) {
|
| 329 |
try {
|
| 330 |
-
|
| 331 |
} catch(Exception $e) {
|
| 332 |
return array(0, $e->getMessage());
|
| 333 |
}
|
| 59 |
// Try to get the productId by looking for the SKU
|
| 60 |
$sku = $data['sku'];
|
| 61 |
$productId = Mage::getModel('catalog/product')->getIdBySku($sku);
|
| 62 |
+
$storeId = Mage::helper('vm2mage')->getStoreId($data);
|
| 63 |
$taxId = (isset($data['product_tax_id'])) ? $data['product_tax_id'] : 0;
|
| 64 |
|
| 65 |
+
// Only set this store if its not the default Store View
|
| 66 |
+
if (Mage::app()->isSingleStoreMode() == false) {
|
| 67 |
+
if($storeId != Mage::helper('vm2mage')->getDefaultStoreId($storeId)) {
|
| 68 |
+
$product->setStoreId($storeId);
|
| 69 |
+
}
|
| 70 |
+
}
|
| 71 |
+
|
| 72 |
// Load the product by its productId
|
| 73 |
if($productId > 0) {
|
| 74 |
$isNew = false;
|
| 319 |
}
|
| 320 |
|
| 321 |
// Configure this product as configurable product
|
| 322 |
+
if(isset($data['has_children']) && $data['has_children'] > 0) {
|
| 323 |
if($typeId == Mage_Catalog_Model_Product_Type::TYPE_GROUPED) {
|
| 324 |
$rs = Mage::helper('vm2mage/product')->addChildrenToGrouped($data['children'], $product);
|
| 325 |
} elseif($typeId == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE) {
|
| 334 |
// Get the remote images
|
| 335 |
if(isset($data['images'])) {
|
| 336 |
try {
|
| 337 |
+
Mage::helper('vm2mage/image')->addImages($product, $data['images']);
|
| 338 |
} catch(Exception $e) {
|
| 339 |
return array(0, $e->getMessage());
|
| 340 |
}
|
app/code/community/Yireo/Vm2Mage/etc/config.xml
CHANGED
|
@@ -14,7 +14,7 @@
|
|
| 14 |
|
| 15 |
<modules>
|
| 16 |
<Yireo_Vm2Mage>
|
| 17 |
-
<version>0.10.
|
| 18 |
</Yireo_Vm2Mage>
|
| 19 |
</modules>
|
| 20 |
|
| 14 |
|
| 15 |
<modules>
|
| 16 |
<Yireo_Vm2Mage>
|
| 17 |
+
<version>0.10.28</version>
|
| 18 |
</Yireo_Vm2Mage>
|
| 19 |
</modules>
|
| 20 |
|
package.xml
CHANGED
|
@@ -1,2 +1,2 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
-
<package><name>Yireo_Vm2Mage</name><version>0.10.
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
+
<package><name>Yireo_Vm2Mage</name><version>0.10.28</version><stability>stable</stability><license>Open Source License</license><channel>community</channel><extends></extends><summary>No summary</summary><description>No description</description><notes>No notes</notes><authors><author><name>Yireo</name><user>yireo</user><email>info@yireo.com</email></author></authors><date>2015-08-26</date><time>8:20:26</time><compatible></compatible><dependencies><required><php><min>5.4.0</min><max>6.0.0</max></php></required></dependencies><contents><target name="mage"><dir name="skin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="vm2mage"><file name="check-error.png" hash="6a3c4bbf7dff2e4db08183b14329ef9c"/><file name="check-ok.png" hash="9fb629c79fc4a487088ac4aeeb23e40b"/><file name="check-warning.png" hash="39ccef05471d39a99a8fa2ddf4471d20"/></dir></dir></dir></dir></dir></dir><dir name="app"><dir name="etc"><dir name="modules"><file name="Yireo_Vm2Mage.xml" hash="bee76713ff8df9db330a8385b2465041"/></dir></dir><dir name="design"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="vm2mage"><file name="check.phtml" hash="953b257a96841c5efadac97f0cf6614e"/></dir></dir></dir></dir></dir></dir><dir name="code"><dir name="community"><dir name="Yireo"><dir name="Vm2Mage"><dir name="sql"><dir name="vm2mage_setup"><file name="mysql4-install-0.10.3.php" hash="853a8f5781d1f91356aefbf7ae954d2b"/><file name="mysql4-install-0.5.4.php" hash="af2d480575e32b4f601c0f3d40e49f01"/><file name="mysql4-upgrade-0.10.2-0.10.3.php" hash="39759a5daed7e92bd3aa50c661c2e287"/></dir></dir><dir name="etc"><file name="api.xml" hash="044835e8aef903ec0eaad068d7b428ae"/><file name="config.xml" hash="b2f2029758c83f5da605ed89c7894622"/><file name="system.xml" hash="675f2984aa4df1298f753be702171a78"/></dir><dir name="controllers"><file name="IndexController.php" hash="beb4a2afae7c48ab6360ccb0759b96bc"/></dir><dir name="Model"><file name="Observer.php" hash="61fca0f64bc8c994a4cab745a77252e0"/><dir name="Widget"><file name="Api.php" hash="dd313f26b2d2f37ee17f632e9b24b182"/></dir><dir name="User"><file name="Api.php" hash="dd49ff1f49914f8554609c2c79307f47"/></dir><dir name="Rewrite"><dir name="Category"><dir name="Attribute"><dir name="Backend"><file name="Image.php" hash="9880fd05bb4bdbb8fc551ee7cace2e9d"/></dir></dir></dir></dir><dir name="Product"><file name="Api.php" hash="bda772c201df3972093706511e361fc4"/></dir><dir name="Order"><file name="Api.php" hash="0e5c94716fbb347e2fef4b1b0f3d19bc"/></dir><dir name="Category"><file name="Api.php" hash="6b3dfea5f56030e735e74338c64d315c"/></dir><dir name="Attribute"><file name="Api.php" hash="aa0e201a5dc42cc7bf9b3d22c060c307"/></dir></dir><dir name="Helper"><file name="Attribute.php" hash="84734510b3170b65e782db7a90f715f9"/><file name="Category.php" hash="2780d3ce633e1f6b8ea345506d0cc89a"/><file name="Data.php" hash="52970459ed2468ecfac4c6e66ef81fd4"/><file name="Image.php" hash="e2a8600d705ef120398322116b9b3143"/><file name="Price.php" hash="2d7253c4d727935c79f8e4d861329fa5"/><file name="Product.php" hash="ca99ba63309b9add9f5bb1f9be2f88da"/></dir><dir name="Block"><file name="Check.php" hash="1409b8333e818a532fee3aa88c3a1977"/></dir></dir></dir></dir></dir></dir></target></contents></package>
|
