Hello:
Conway just released a PHP page that can be used to intergrate to a customers website and they can get shipping quotes on the customers website as opposed to having to leave the customers website.

I need help creating a module that i can import into zencart so that the customer can provide this method of shipping. Here is the code for the rate quote page provided by conway.

PHP Code:
<?php
/*
Con-way XML Sample Code for PHP - Rating interface
This code has been tested on PHP 4.3.XX and PHP 5.XX
-----------------
TODO:  
* replace the USERNAME and PASSWORD String values below 
with your Con-way username and password
* to get customer-specific discounts, replace CUSTNMBR String value
below with your Con-way customer number

NOTE:  you must have the cURL libraries installed with PHP on your server--
If you need them, see your System Administrator, who can get then at 
http://curl.haxx.se/download.html
-----------------
Send questions to Con-way XML Support at [email protected]
*/

$title "Rating";
$requestType "RateRequest";
$requestUrl "https://www.Con-way.com/XMLj/X-Rate";

// replace the USERNAME and PASSWORD String values below with your Con-way username and password
$username "USERNAME";
$password "PASSWORD";
// to get a customer-specific discount, replace the CUSTNMBR string below with
// your Con-way customer number, then uncomment the <CustNmbr> line below.
$custNmbr "CUSTNMBR";

$today date("m/d/y");

// array of input data
$myInput $_GET;
// If you don't pass data in as a GET variables, hard code them here:
if (! isset($myInput['origZip'])) {
    
$myInput['origZip'] = "19348";
}
if (! isset(
$myInput['destZip'])) {
    
$myInput['destZip'] = "97202";
}

// array of elements you want to query from the XML Response
$myElements = array('TotalCharge''Discount''TotalAccessorialCharges''NetCharge''TransitTime');

/*
Build XML Request
In actual use, you would probably populate the XML Request 
parameters (Weights, Classes, Zip Codes, etc.) from data submitted
via an on-line order form or database.
For this sample we will just hard code some dummy data.
*/

$itemArray = array();    //Your commodity items, maximum of 4 - add as needed
$itemArray[] = array('class'=>'775''weight'=>'667');
$itemArray[] = array('class'=>'100''weight'=>'555');

$accArray = array();    // Your accessorial services - add as needed
$accArray[] = "SSC";
$accArray[] = "DNC";
$accArray[] = "GUR";

extract($myInput);
$xmlRequest="<RateRequest>" .

        
"<OriginZip country=\"us\">$origZip</OriginZip>" .
        
"<DestinationZip country=\"us\">$destZip</DestinationZip>";
        
// To get customer specific discount, uncomment this line:
// $xmlRequest .= "<CustNmbr shipcode=\"S\">$custNmbr</CustNmbr>";

$xmlRequest .= "<ChargeCode>P</ChargeCode>" .
        
"<DiscountRate>100</DiscountRate>" .
        
"<EffectiveDate>$today</EffectiveDate>";
        
foreach (
$itemArray as $item) {    // Add commodity items to the XML Request
    
extract($item);
    
$xmlRequest .= "<Item>" .
            
"<CmdtyClass>$class</CmdtyClass>" .
            
"<Weight unit=\"lbs\">$weight</Weight>" .
            
"</Item>";
}
foreach (
$accArray as $acc) {    // Add accessorials to the XML Request
    
$xmlRequest .= "<Accessorial>$acc</Accessorial>";
}                      
$xmlRequest .= "</RateRequest>";

//Convert characters to proper format for HTTP POST
$xmlRequest urlencode($xmlRequest);

// open synchronous connection to Con-way servlet and set options
$urlConn curl_init ($requestUrl);
curl_setopt ($urlConnCURLOPT_POST1);
curl_setopt ($urlConnCURLOPT_SSL_VERIFYPEERfalse);    // May be needed for SSL behind a firewall
curl_setopt ($urlConnCURLOPT_HTTPHEADER, array("Content-type: application/x-www-form-urlencoded"));
curl_setopt ($urlConnCURLOPT_USERPWD$username.":".$password);
curl_setopt ($urlConnCURLOPT_POSTFIELDS"$requestType=$xmlRequest");

// Get the XML Response
ob_start();    // prevent the buffer from being displayed
curl_exec($urlConn);
$xmlResponse ob_get_contents();
ob_end_clean();

curl_close($urlConn);        // close the connection

// Parse the XML Response
$parserxml_parser_create(); 
xml_parse_into_struct($parser,$xmlResponse,$xmlVals); 
xml_parser_free($parser);

// This function will return an array of the values of an element 
// given the $vals and $index arrays, and the element name
function getElementValue($xmlVals$elName) { 
    
$elValue null;
    foreach (
$xmlVals as $arrkey => $arrvalue) {
        foreach (
$arrvalue as $key => $value) {
            if (
$value==strtoupper($elName)){
                
$elValue[] = $arrvalue['value'];
            }
        }
    }
    return 
$elValue;
}

// Build the HTML page
echo "
<html>
<head>
<title>Sample PHP for Con-way XML 
$title></title>
<script language=\"Javascript\" type=\"text/javascript\">
<!-- 
function erase(object) {
    object.value=\"\";
}
// -->
</script>
</head>
<body text=\"SlateBlue\">
<center>
<B><font face=\"arial\" size=+1><I>Sample PHP Con-way XML 
$title</I></font></B>
</center>
<br>
<form action=\""
$_SERVER['PHP_SELF'] ."\" method=\"get\">
<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
"
;
foreach (
$myInput as $key => $value) {
    if (
$key != "Submit" && strlen($value))
    echo 
"
      <tr>
        <td><b>" 
strtoupper($key) . ":&nbsp;&nbsp;</b></td>
        <td><input type=\"text\" name=\"
$key\" value=\"$value\" 
                 onFocus=\"erase(this);\" onClick=\"erase(this);\"></td>
      </tr>
    "
;
}
echo 
"
    <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
      <tr>
        <td>&nbsp;</td>
        <td><input type=\"submit\" name=\"Submit\" value=\"Process 
$title\"></td>
      </tr>
</table>
</form>
<hr>
"
;

// Extract your element values from the XML Response
$elCount count(getElementValue($xmlVals$myElements[0]));   // total occurrences

// The outer loop iterates the total number of occurrences of your first element
for ($i=0$i $elCount$i++) {
// The inner loop iterates all of your elements, for each occurrence of the first
    
foreach ($myElements as $myEl) {
        
$myVals getElementValue($xmlVals$myEl);
        echo 
"<b>Value of &lt;$myEl&gt; is: $myVals[$i]</b><BR>";;
    }
    echo 
'<br>';
}

echo 
"<b>Here is the dump of the XML output for $title:</b>" .
        
"<code>$xmlResponse</code><br><br>" .
        
"<b>And here it is displayed as a formatted array:</b><br>";
print_r($xmlVals);
echo 
        
"</body>" .
        
"</html>";

?>
Any thoughts?