OpenCart 🇺🇦

Схема

private mixed uploadSaved ( )

Аргументы

Аргумент Возможный тип Описание
У метода нет аргументов

Описание

Метод пока еще не документирован.

Исходный код

$this->load->language('openbay/amazonus_listing');
$this->load->library('amazonus');
$this->load->model('openbay/amazonus');
$logger = new Log('amazonus_product.log');

$logger->write('Uploading process started.');

$savedProducts = $this->model_openbay_amazonus->getSavedProductsData();

if(empty($savedProducts)) {
	$logger->write('No saved listings found. Uploading canceled.');
	$result['status'] = 'error';
	$result['error_message'] = 'No saved listings. Nothing to upload. Aborting.';
	return $result;
}

foreach($savedProducts as $savedProduct) {
	$productDataDecoded = (array)json_decode($savedProduct['data']);

	$catalog = defined(HTTPS_CATALOG) ? HTTPS_CATALOG : HTTP_CATALOG;
	$response_data = array("response_url" => $catalog . 'index.php?route=amazonus/product/inbound');
	$category_data = array('category' => (string)$savedProduct['category']);
	$fields_data = array('fields' => (array)$productDataDecoded['fields']);

	$mpArray = array(); //Amazon US does not have marketplace selection
	$marketplaces_data = array('marketplaces' => $mpArray);

	$productData = array_merge($category_data, $fields_data, $response_data, $marketplaces_data);
	$insertion_response = $this->openbay->amazonus->insertProduct($productData);

	$logger->write("Uploading product with data:" . print_r($productData, true) . "
		Got response:" . print_r($insertion_response, true));

	if(!isset($insertion_response['status']) || $insertion_response['status'] == 'error') {
		$details = isset($insertion_response['info']) ? $insertion_response['info'] : 'Unknown';
		$result['error_message'] = sprintf($this->language->get('upload_failed'), $savedProduct['sku'], $details);
		$result['status'] = 'error';
		break;
	}
	$logger->write('Product upload success');
	$this->model_openbay_amazonus->setProductUploaded($savedProduct['product_id'], $insertion_response['insertion_id'], $savedProduct['var']);
}

if(!isset($result['status'])) {
	$result['status'] = 'ok';
	$logger->write('Uploading process completed successfully.');
} else {
	$logger->write('Uploading process failed with message: ' . $result['error_message']);
}
return $result;