Pagina 1 di 1
contrib x Danea info per query
Inviato: 05/05/2010, 11:37
da giammi73
la query per identificare il numero utente non mi funge.... in pratica non mi esce il numero dell' acquirente
Codice: Seleziona tutto
$order = new order($oIDn);
$address = $order->customer;
$testo .= "<CustomerCode>".$address['id']."</CustomerCode>";
Dove sbaglio?
Re: contrib x Danea info per query
Inviato: 05/05/2010, 12:05
da xnetus
Cosa intendi? Non ti compare nullla? Il numero che ti compare non è quello del cliente? O altro?
Re: contrib x Danea info per query
Inviato: 05/05/2010, 12:26
da giammi73
no
non mi compare il numero cliente
Re: contrib x Danea info per query
Inviato: 05/05/2010, 12:27
da giammi73
il resto funge bene
allego tutto il mio codice
Codice: Seleziona tutto
<?php
// Esportazione Clienti da Oscommerce per Danea EasyFatt
// Realizzato da tReAle il 20 sett. 2008
function convStr($string){
$caratteri = array("¡", "°");
$string = str_replace($caratteri, " ", $string);
return $string;
}
require('includes/application_top.php');
include('includes/classes/order.php');
require(DIR_WS_CLASSES . 'currencies.php');
if(isset($HTTP_GET_VARS['oID']))
{
$oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);
$filename ="scarico_ordini_".date('d-m-Y').".xml";
/* CICLO PER OGNI ORDINE O EVENTUALMENTE PER IL SINGOLO ORDINE */
$testo ="";
$testo .="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<EasyfattDocuments AppVersion=\"2\">
<Documents>";
$i=0;
while($i < count($oID))
{
if (count($oID) == 1)
{
if (is_array($oID))
$oIDn = $oID[0];
else
$oIDn = $oID;
}else{
$oIDn = $oID[$i];
}
$order = new order($oIDn);
$address = $order->customer;
$billing = $order->billing;
$delivery = $order->delivery;
$order_total_query = tep_db_query("select * from " . TABLE_ORDERS_TOTAL . " where orders_id = ".((int)$oID)." and class = 'ot_total'");
$order_total = tep_db_fetch_array($order_total_query);
$order_shipping_query = tep_db_query("select * from " . TABLE_ORDERS_TOTAL . " where orders_id = ".((int)$oID)." and class = 'ot_shipping'");
$order_shipping = tep_db_fetch_array($order_shipping_query);
$order_fixed_payment_chg_query = tep_db_query("select * from " . TABLE_ORDERS_TOTAL . " where orders_id = ".((int)$oID)." and class = 'ot_fixed_payment_chg'");
$order_fixed_payment_chg = tep_db_fetch_array($order_fixed_payment_chg_query);
$testo .= "<Document>";
$testo .= "<DocumentType>C</DocumentType>";// C: Ordine cliente (tipo predefinito)
$testo .= "<CustomerCode>".convStr($address['id'])."</CustomerCode>";
$testo .= "<CustomerWebLogin>".str_replace(" ","",trim($order->customer['email_address']))."</CustomerWebLogin>";
$testo .= "<CustomerName>".convStr($billing['name'])."</CustomerName>";
$testo .= "<CustomerAddress>".convStr($billing['street_address'])."</CustomerAddress>";
$testo .= "<CustomerPostcode>".$billing['postcode']."</CustomerPostcode>";
$testo .= "<CustomerCity>".convStr($billing['city'])."</CustomerCity>";
$testo .= "<CustomerProvince>".$billing['state']."</CustomerProvince>";
$testo .= "<CustomerCountry>".$billing['country']."</CustomerCountry>";
$testo .= "<CustomerFiscalCode>".$billing['cf']."</CustomerFiscalCode>";
$testo .= "<CustomerVatCode>".$billing['piva']."</CustomerVatCode>";
$testo .= "<CustomerTel>".str_replace(" ","", trim($address['telephone']))."</CustomerTel>";
$testo .= "<CustomerEmail>".$address['email_address']."</CustomerEmail>";
$testo .= "<DeliveryName>".$delivery['name']."</DeliveryName>";
$testo .= "<DeliveryAddress>".$delivery['street_address']."</DeliveryAddress>";
$testo .= "<DeliveryPostcode>".$delivery['postcode']."</DeliveryPostcode>";
$testo .= "<DeliveryCity>".$delivery['city']."</DeliveryCity>";
$testo .= "<DeliveryProvince>".$delivery['state']."</DeliveryProvince>";
$testo .= "<DeliveryCountry>".$delivery['country']."</DeliveryCountry>";
$testo .= "<CostDescription>Trasporto</CostDescription>";
$testo .= "<CostAmount>".(($order_shipping['value']/1.2)+($order_fixed_payment_chg['value']/1.2)) ."</CostAmount>";
$date = substr($order->info['date_purchased'], 0, 10);
$testo .= "<Date>".$date."</Date>";
$testo .= "<Number>".$oIDn."</Number>";
$n = sizeof($order->totals);
$n--;
$testo .= "<Total>" .$order_total['value'] . "</Total>";
// PAGAMENTO
$payment = strip_tags($order->info['payment_method']);
$payments = "";
switch (trim($payment)) {
case (substr(trim($payment),0,6) == "PayPal"):
$payments = "Pagato";
break;
case "Bonifico Bancario":
$payments = "Bonifico anticipato";
break;
case "Pagamento alla consegna":
$payments = "Contrassegno";
break;
case "Ricarica PostePay":
$payments = "Ricarica PostePay";
break;
}
//----------------
$testo .= "<PaymentName>" . $payments . "</PaymentName>";
$testo .= "<PaymentBank></PaymentBank>";
$testo .= "<InternalComment>Nessun Acconto</InternalComment>";
$testo .= "<CustomField2>" . date("d/m/Y"). "</CustomField2>";
$testo .= "<SalesAgent>no</SalesAgent>";
// lista articoli
for ($x=0, $n=sizeof($order->products); $x<$n; $x++) {
$testo .= "<Row>";
$testo .= "<Code>".$order->products[$x]['model']."</Code>";
$testo .= "<Description>".$order->products[$x]['name']."</Description>";
$testo .= "<Qty>".$order->products[$x]['qty']."</Qty>";
$testo .= "<Um>pz</Um>";
$testo .= "<Price>".($order->products[$x]['final_price']/1.2)."</Price>";
$testo .= "<Discounts>0%</Discounts>";
$testo .= "<VatCode>20</VatCode>";
$testo .= "</Row>";
}
$testo .= "</Document>";
$i++;
}
$testo .="</Documents>
</EasyfattDocuments>";
/* da usare per eventuale scrittura su file
$fp = fopen($filename, 'w');
fwrite($fp, $testo);
fclose($fp);
*/
header("Content-disposition: filename=".$filename);
header("Content-type: application/octetstream; charset=utf-8");
header("Pragma: no-cache");
header("Expires: 0");
echo $testo;
}
else
{
echo 'Ordine non specificato!';
exit;
}
?>