} } if ($polymorph) { if (isset($map[$headers[$offset]])) { $product_record[$map[$headers[$offset]]] = $value; } } else { $product_record[$map[$offset]] = $value; } } // Insert if we have a product record with at minimum a value for the product name if (isset($product_record) && !empty($product_record) && !empty($product_record['name'])) { $product_record['date_added'] = $GLOBALS['session']->get('date_added', 'import'); // Insert product if (!isset($product_record['product_code']) || empty($product_record['product_code'])) { $product_record['product_code'] = generate_product_code($product_record['name']); } if (!isset($product_record['featured']) || empty($product_record['featured'])) { $product_record['featured'] = 1; } // If no stock level is set we assume no stock control is used if (isset($product_record['use_stock_level']) && ($product_record['use_stock_level'] == 1 || strtolower($product_record['use_stock_level']) == 'true')) { $product_record['use_stock_level'] = 1; } elseif (!isset($product_record['stock_level']) || empty($product_record['stock_level'])) { $product_record['use_stock_level'] = 0; } if ($GLOBALS['db']->insert('CubeCart_inventory', $product_record)) { $insert++; } // Insert primary category $product_id = $GLOBALS['db']->insertid();
/** * Format time * * @param string $product_name * @param bool $cat_id * @return string */ function generate_product_code($product_name, $cat_id = false) { $chars = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'O', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'); $max_chars = count($chars) - 1; for ($i = 0; $i < 5; ++$i) { $randChars = $i == 0 ? $chars[mt_rand(0, $max_chars)] : $randChars . $chars[mt_rand(0, $max_chars)]; } if (!$cat_id) { $cat_id = mt_rand(0, 99); } $product_code = strtoupper(substr($product_name, 0, 3)) . $randChars . (int) $cat_id; // Check it's not already in use if (($query = $GLOBALS['db']->select('CubeCart_inventory', 'product_id', array('product_code' => $product_code))) !== false) { //If it is make it again $product_code = generate_product_code($product_name, $cat_id); } return $product_code; }