Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function index()
- {
- $this->load->model('import/error');
- $this->load->model('import/product');
- $this->load->model('import/currency');
- $this->load->model('import/language');
- $this->load->model('import/category');
- $this->load->model('import/manufacturer');
- $this->load->model('import/option');
- $this->load->model('import/attribute');
- $products = array();
- $languages = array();
- $currencies = array();
- $groups = array();
- $brands = array();
- $options = array();
- $attributes = array();
- if($this->getFromFile('db.products', false)===false ) {
- $db_products = $this->model_import_product->mappingProducts($this->supplier['supplier_id']);
- $this->saveToFile('db.products', $db_products);
- }
- $get_products = $this->get_content($this->supplier['url_product']);
- if( $get_products && !$this->getFromFile('products'.$_GET['shop'], false) )
- {
- if( $get_products->languages )
- foreach ($get_products->languages->language as $language)
- $languages[ (string)$language->id ] = (string)$language->code;
- $currencies[ (string)$get_products->products['currency'] ] = (string)$get_products->products['currency'];
- if( $get_products->categories )
- foreach ($get_products->categories->category as $category)
- $groups[ (string)$category->id ] = (string)$category->name;
- if( $get_products->manufactures )
- foreach ($get_products->manufactures->manufacturer as $manufacturer)
- $brands[ (string)$manufacturer->id ] = (string)$manufacturer->name;
- $db_products = $this->getFromFile('db.products');
- foreach ($get_products->products->product as $product)
- {
- $item = (array)$product;
- unset( $db_products[ $item['id'] ] );
- $item['code'] = (string)$product->code;
- $item['manufacturer_id'] = (string)$product->manufacturer_id;
- $item['options'] = array();
- $item['attributes'] = array();
- $item['images'] = array();
- $item['price'] = (float)$product->price;
- $item['price_old'] = (float)$product->price_old;
- $item['currency'] = (string)$get_products->products['currency'];
- if( $product->description )
- foreach ($product->description as $description)
- $item['product_description'][ (string)$description['language_id'] ] = array(
- 'name' => (string)$description->title,
- 'short_description' => (string)$description->short_description,
- 'description' => (string)$description->description,
- );
- if( $product->variants )
- foreach ($product->variants->variant as $variant) {
- $option_code = (string)$variant->title . (string)$variant->value_title;
- $options[ $option_code ] = (string)$variant->title . ' ' . (string)$variant->value_title;
- $item['options'][ $option_code ] = array(
- 'required' => 1,
- 'product_option_value' => array(
- 'quantity' => (int)$variant->quantity,
- 'subtract' => $this->supplier['subtract'],
- 'price' => (float)$variant->price,
- 'price_prefix' => (string)$variant->price_prefix,
- )
- );
- }
- if ($product->amount_prices)
- foreach ($product->amount_prices->price as $price) {
- if ((int)$price->attributes()->amount > 0) {
- $item['product_discount'][] = array(
- 'quantity' => (int)$price->attributes()->amount,
- 'price' => (float)$price
- );
- }
- }
- if( $product->attributes )
- foreach ($product->attributes->attribute as $attribute) {
- $attributes[ (string)$attribute['title'] ] = (string)$attribute['title'];
- $item['attributes'][ (string)$attribute['title'] ] = (string)$attribute;
- }
- $s = 0;
- if( $product->images )
- foreach ($product->images->image as $image) {
- if( (string)$image )
- $item['images'][] = array( 'name' => (string)$product->id . '_' . $s, 'url' => (string)$image );
- $s++;
- }
- $products[ (string)$product->id ] = $item;
- }
- $this->saveToFile('db.products', $db_products);
- }
- $this->languages = $this->model_import_language->mappingLanguages($this->supplier['supplier_id'], $languages);
- $this->currencies = $this->model_import_currency->mappingCurrencies($this->supplier['supplier_id'], $currencies);
- $this->categories = $this->model_import_category->mappingCategories($this->supplier['supplier_id'], $groups);
- $this->manufacturers = $this->model_import_manufacturer->mappingManufacturers($this->supplier['supplier_id'], $brands);
- $this->options = $this->model_import_option->mappingOptions($this->supplier['supplier_id'], $options);
- $this->attributes = $this->model_import_attribute->mappingAttributes($this->supplier['supplier_id'], $attributes);
- if( $products ) {
- $products = array_chunk($products, $this->chunk_size);
- $this->saveToFile('products'.$_GET['shop'], $products);
- $this->redirect($this->url->link('import/' . $this->supplier_code, 'shop=' . $_GET['shop'], 'SSL'));
- }
- if( $products = $this->getFromFile('products'.$_GET['shop']) ) {
- reset($products);
- $import = key($products);
- $this->import( $products[ $import ] );
- unset($products[ $import ]);
- if( $products ) {
- $this->saveToFile('products'.$_GET['shop'], $products);
- $this->redirect($this->url->link('import/' . $this->supplier_code, 'shop=' . $_GET['shop'], 'SSL'));
- } else {
- $db_products = $this->getFromFile('db.products');
- foreach ($db_products as $sku => $db_product)
- //$this->model_import_product->deleteProduct($db_product);
- $this->model_import_product->import(array('sku' => $sku), $this->supplier);
- echo 'Import Success';
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement