cpModule = $module; $this->cpPostageData = $postageData; $this->cpLocale = ($config['defaultLang'] == 'fr') ? 'fr' : 'en'; } function request() { ## Generate the XML for the request $request_xml[] = ''; $request_xml[] = ''.$this->cpLocale.''; $request_xml[] = ''; $request_xml[] = ''.$this->cpModule['merchant'].''; $request_xml[] = ''.$this->cpModule['postcode'].''; $request_xml[] = ''.$this->cpPostageData['subTotal'].''; $request_xml[] = ''; $request_xml[] = ''; $request_xml[] = '1'; $request_xml[] = ''.$this->cpPostageData['totalWeight'].''; $request_xml[] = ''.$this->cpModule['length'].''; $request_xml[] = ''.$this->cpModule['width'].''; $request_xml[] = ''.$this->cpModule['height'].''; $request_xml[] = ''.$this->cpModule['description'].' - ddsasdadsd'; $request_xml[] = ''; $request_xml[] = ''; $request_xml[] = ''.$this->cpPostageData['basket']['city'].''; $request_xml[] = ''.$this->cpPostageData['basket']['state'].''; $request_xml[] = ''.$this->cpPostageData['basket']['country'].''; $request_xml[] = ''.$this->cpPostageData['basket']['postcode'].''; $request_xml[] = ''; $request_xml[] = ''; ## Send the request $ch = curl_init($this->cpURL); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, implode("\n", $request_xml)); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $return_xml = curl_exec($ch); return $this->process(xmlize($return_xml)); } function process($xml) { $i = 0; if (is_array($xml['eparcel']['#']['ratesAndServicesResponse'][0]['#']['product'])) { foreach ($xml['eparcel']['#']['ratesAndServicesResponse'][0]['#']['product'] as $products) { $returnData[$i]['price']= $products['#']['rate'][0]['#']; $returnData[$i]['name'] = $products['#']['name'][0]['#']; $i++; } return $returnData; } return false; } } ?>