Exemple #1
0
 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);
         }
     }
 }
Exemple #2
0
 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;
 }