function get_product_shipping($id, $order_quantity) { if (isAjax()) { $rows = get_quantities(); $dim = $this->products_model->get_product_dimensions($id); $temp1 = array('"', 'Fermé', 'Ouvert', 'Open', 'Closed', ','); $temp2 = array('', '', '', '', '', '.'); $dimensions = explode('x', str_replace($temp1, $temp2, $dim[0]->dimension)); define('CP_SERVER', 'sellonline.canadapost.ca'); define('CP_PORT', 30000); define('MERCHANT_CPCID', 'CPC_GROUPE_VSRG'); //define('MERCHANT_CPCID', 'CPC_ERLIK'); $cp = new CanadaPost($this->session->userdata['lang']); $cp->addItem($quantity = 1, $weight = intval($rows[$order_quantity]) / 100, $length = 1, $width = floatval($dimensions[0]), $height = floatval($dimensions[1]), $description = 'Test'); $cp->getQuote('Montréal', 'Québec', 'Canada', 'H1P 2X8'); if ($cp->error_message) { echo json_encode(array('error', $cp->error_message)); } else { $shipping_methods = $cp->shipping_methods; if ($this->session->userdata['lang'] == 'fr') { $shipping_methods[1]['name'] = "Colis accélérés "; } echo json_encode($shipping_methods); } } }
function sendRequest($address, $orderItems) { $rates = array(); require_once dirname(__FILE__) . '/shipping_canada/canadapost.php'; $key = $this->params->get('key'); $canadaPost = new CanadaPost($key); foreach ($orderItems as $item) { $product = JTable::getInstance('Products', 'TiendaTable'); $product->load($item->product_id); $description = strip_tags($product->product_description); if ($product->product_ships) { $canadaPost->addItem($item->orderitem_quantity, $product->product_weight, $product->product_length, $product->product_width, $product->product_height, $description); } } // $city, $provstate, $country, $postal_code // $address->city $address->zone_id $address->country_name $address->postal_code // // $address->city="Delhi"; JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_tienda/tables'); $zone = JTable::getInstance('Zones', 'TiendaTable'); $zone->load($address->zone_id); $canadaPost->getQuote($address->city, $zone->zone_name, $address->country_name, $address->postal_code); $rates = $canadaPost->shipping_methods; $i = 0; foreach ($rates as $rate) { $vars[$i]['element'] = $this->_element; $vars[$i]['name'] = $rate['name']; $vars[$i]['price'] = $rate['rate']; // TODO $vars[$i]['code'] = $rate['packingID']; $vars[$i]['tax'] = 0; $vars[$i]['extra'] = 0; $vars[$i]['total'] = $rate['rate']; $i++; } return $vars; }