0) { $category = $item['detail']['categories'][0]['categoryCode']; switch (intval($category)) { case 1 /*adult beverage*/: $location = 3 /*pantry*/; $quantity_units = 10 /*bottle*/; $best_before_days = -1; break; case 7 /*baking goods*/: case 10 /*breakfast*/: case 12 /*canned and packaged*/: case 13 /*cleaning products*/: case 33 /*pasta, sauces, & grain*/: case 73 /*natural & organic*/: case 75 /*personal care*/: case 76 /*health*/: $location = 3 /*pantry*/; $best_before_days = -1; break; case 36 /*produce*/: case 6 /*bakery*/: $location = 3 /*pantry*/; break; case 15 /*dairy*/: case 16 /*deli*/: case 28 /*meat & seafood*/: $location = 2 /*fridge*/; break; case 20 /*frozen*/: $location = 6 /*freezer*/; $best_before_days = -1; break; case 37 /*snacks*/: case 77 /*candy*/: $location = 4 /*candy cupboard*/; $best_before_days = 360; break; } } $product = array( 'name' => $item["detail"]["description"], 'location_id' => $location, 'qu_id_purchase' => $quantity_units, 'qu_id_stock' => $quantity_units, 'qu_factor_purchase_to_stock' => 1, 'barcode' => $barcode, 'default_best_before_days' => $best_before_days, 'quantity' => $quantity, 'min_stock_amount' => $min_stock_amount, 'transaction_date' => $transactionDate, 'price_paid' => $item['pricePaid'] / $item['quantity'], 'picture_url' => (array_key_exists("mainImage", $item['detail']) ? $item['detail']['mainImage'] : null) ); array_push($products, $product); } } return $products; } // Anatomy of a barcode: 0 07222526014 2 // ^ ^ ^ // country code upc computed check digit public static function ConvertUpcToBarcode($upc) { $upclen = strlen($upc); if ($upclen < 11 && intval($upc) > 0) { throw new \Exception('UPC code should be at least 11 digits'); } $countryCode = $upclen > 11 ? $upc[$upclen - 12] : 0 /*US/Canda*/; $upc = substr($upc, $upclen - 11); $checkSum = (intval($upc[0]) + intval($upc[2]) + intval($upc[4]) + intval($upc[6]) + intval($upc[8]) + $upc[10]) * 3; $checkSum = $checkSum + intval($upc[1]) + intval($upc[3]) + intval($upc[5]) + intval($upc[7]) + intval($upc[9]); $checkDigit = (10 - ($checkSum % 10)) % 10; return $countryCode . $upc . strval($checkDigit); } } ?>