codice:
<?php
include ("../includes/functions.php");
require_once ("../includes/paypalfunctions.php");
include ("doc.php");
$dir="store";
$page="checkout.php";
function page_checkout($retcode)
{
global $lang,$language;$amt;
$sessionName = 'ord_pro';
if ($retcode==1)
{
echo '<h2>'.ORDINE_INVIATO.'</h2>';
$sessionName = 'ord_pro_sent';
}
$numero_prodotti = 0;
if (isset($_SESSION[$sessionName]))
$numero_prodotti = count($_SESSION[$sessionName]);
if ($numero_prodotti>0 )
{
if (!isMemberLogged())
echo CHECK_TESTO;
if ($retcode!=1)
echo CHECK_TESTO_OK;
?>
<table cellpadding="0" cellspacing="0" class="carrello">
<?php
$size = count($_SESSION[$sessionName]);
$tot = 0;
for( $i = 0; $i < $size; $i++ )
{
$sessionOrdPro = $_SESSION[$sessionName][$i];
$sql = "select
p.id_pro,
p.prezzo,
t.nome as taglia,
pl.nome from
prodotto as p
inner join prodotto_lang as pl using(id_pro)
inner join lingue on pl.id_lin=lingue.id_lin
left join taglia as t on t.id_tag = {$sessionOrdPro['id_tag']}
where p.id_pro={$sessionOrdPro['id_pro']} and p.attivo like 'si' and lingue.sigla like '{$language}'
group by p.id_pro";
if ( $resP = mysql_query($sql) )
{
if( $rowP=mysql_fetch_array($resP,MYSQL_ASSOC) )
{
$tot+= $sessionOrdPro['quantita'] * floatval($sessionOrdPro['prezzo']);
?>
<tr>
<td width="20"><?php echo $sessionOrdPro['quantita']; ?></td>
<td><?php echo $rowP['nome']; ?>-<?php echo $rowP['taglia']; ?></td>
<td width="110" class="destra"><nobr>€ <?php echo number_format($sessionOrdPro['prezzo'], 2, ',', '.'); ?></nobr></td>
</tr>
<?php
}
mysql_free_result($resP);
}
}
?>
</table>
<table cellpadding="0" cellspacing="0" class="calcoli">
<tr>
<td class="totali"><?php echo TOTALE_CON_IVA; ?></td>
<td class="totali" width="110"><nobr>€ <?php
$amt=$tot+10;
echo number_format($tot+10, 2, ',', '.');?></nobr></td>
</tr>
<?php
// leggo lo sconto sulla quantità
$scontoQ=0;
$cifraQ=0;
$sql = "select cifra,sconto from generali where id_gen=1";
if ( $resS = mysql_query($sql) )
{
if( $rowS=mysql_fetch_array($resS,MYSQL_ASSOC) )
{
$cifraQ=$rowS['cifra'];
$scontoQ=$rowS['sconto'];
}
mysql_free_result($resS);
}
$totaleScontato=$tot;
if ($tot>=$cifraQ){
$totaleScontato=$tot-$scontoQ;
?>
<tr>
<td class="destra">Sconto</td>
<td class="destra">€ <?php echo number_format($scontoQ, 2, ',', '.');?></td>
</tr>
<tr>
<td class="totali">Totale scontato:</td>
<td class="totali">€ <?php echo number_format($totaleScontato, 2, ',', '.');?></td>
</tr>
<?php } ?>
</table>
<div class="clearer"></div>
</h2>
<form name="send_order" id="send_order" method="post" action="<?php echo $_SERVER['PHP_SELF'].'?'.$lang.'&st=1'; ?>" class="cmxform_pro">
<?php if (isMemberLogged() && $retcode!= 1 ) {?>
<input type="hidden" name="sconto" value="<?php echo $tot>=$cifraQ?$scontoQ:0; ?>" />
<input type="hidden" name="totale" value="<?php echo $amt; ?>" />
<input checked type="radio" name="pagamento" value="CONTRASSEGNO" />Paga in contrassegno
<input type="radio" name="pagamento" value="PAYPAL" />Paga con PayPal-Carta di credito o postpay
<input type="submit" value="Inoltra ordine" class="buy_button" />
<?php }?>
</form></p>
<?php
}
else
{
?>
<h2><?php echo CART_VUOTO; ?></h2>
<div class="pul_catalogo"><?php echo TORNA_ALLO_SHOPPING; ?></div>
</p>
</p>
<div class="clearer"></div>
<?php
}
if ($retcode==1)
unset($_SESSION['ord_pro_sent']);
}
function sendOrder()
{
global $numero_prodotti;
$retcode = 2; /*KO*/
if ($numero_prodotti>0)
{
$date = date("Y-m-d");
$time = date("H:i:s");
$id_isc = getMemberId();
list($username,$pass) = explode(COOKIE_SEPARATOR_D,$_COOKIE[COOKIE_AUTHORIZER_SHAK]);
$email_isc = mysql_real_escape_string($username);
$peso = 0;
$iva = 21;
$pagato = '0000-00-00';
$preparazione = 0;
$pronto = 0;
$spedito = '0000-00-00';
$sql = "insert into ordine (data, ora, id_isc, peso, iva, pagato, preparazione,pronto,spedito)
values ('{$date}','{$time}',{$id_isc}, {$peso}, {$iva}, '{$pagato}', {$preparazione}, {$pronto},'{$spedito}');";
if ( $ret = mysql_query($sql) )
{
if ( mysql_affected_rows() > 0 )
{
$retcode = 1; /*ok*/
$id_ord = mysql_insert_id();
// inserisco i prodotti relativi a questo ordine
$size = count($_SESSION['ord_pro']);
for( $i = 0; $i < $size; $i++ )
{
$sOrdPro = $_SESSION['ord_pro'][$i];
$sql = "insert into ord_pro (id_ord,
id_pro,
id_tag,
id_var,
quantita,
nome,
codice,
prezzo)
values ({$id_ord},
{$sOrdPro['id_pro']},
{$sOrdPro['id_tag']},
{$sOrdPro['id_var']},
{$sOrdPro['quantita']},
'{$sOrdPro['nome']}',
'{$sOrdPro['codice']}',
{$sOrdPro['prezzo']});";
$retOrdPro = mysql_query($sql);
$idordine = $sOrdPro['id_ord'];
$codice = $sOrdPro['codice'];
$prezzo = $sOrdPro[$i]['prezzo'];
$spedizione= 10;
$tipospedizione= "contrassegno";
}
// lo salvo in una sessione temporanea solo per mostrarlo come riepilogo
$_SESSION['ord_pro_sent'] = $_SESSION['ord_pro'];
// spedizione email di conferma
$text = sprintf(CONFERMAORDINETEXT, $date.' '.$time ,$idordine,$codice,$prezzo,$spedizione,$tipospedizione );
mail("{$email_isc}", CONFERMAORDINE, $text,
"From: ".SITE_EMAIL2."\r\n" .
"Reply-To: ".SITE_EMAIL2."\r\n" .
"X-Mailer: PHP/" . phpversion());
mail(SITE_EMAIL, CONFERMAORDINE, $text,
"From: ".SITE_EMAIL2."\r\n" .
"Reply-To: ".SITE_EMAIL2."\r\n" .
"X-Mailer: PHP/" . phpversion());
unset ($_SESSION['ord_pro']);
$numero_prodotti = getCartProdNumber();
}
}
}
return $retcode;
}
function expresscheckout()
{
global $lang;
if (isMemberLogged())
{
// dati per la callback paypal
$currencyCodeType = "EUR"; //valuta
$paymentType = "Sale"; //tipo di operazione: vendita
$returnURL = "http://www.miosito.it/store/confermapagamento.php"; //alla fine torna qui se tutto ok...
$cancelURL = "http://www.miosito.it/store/checkout.php?".$lang; //...altrimenti torna qui
$resArray = CallShortcutExpressCheckout ($_POST['totale'], $currencyCodeType, $paymentType, $returnURL, $cancelURL,$_SESSION['ord_pro'],$_POST['sconto']);
$ack = strtoupper($resArray["ACK"]);
if($ack=="SUCCESS" || $ack=="SUCCESSWITHWARNING")
{
//ok
RedirectToPayPal ( $resArray["TOKEN"] );
}
else
{
//errore
$ErrorCode = urldecode($resArray["L_ERRORCODE0"]);
$ErrorShortMsg = urldecode($resArray["L_SHORTMESSAGE0"]);
$ErrorLongMsg = urldecode($resArray["L_LONGMESSAGE0"]);
$ErrorSeverityCode = urldecode($resArray["L_SEVERITYCODE0"]);
echo "SetExpressCheckout API call failed. ";
echo "Msg Errore: " . $ErrorLongMsg;
echo "Short Error Message: " . $ErrorShortMsg;
echo "Codice Errore: " . $ErrorCode;
echo "Error Severity Code: " . $ErrorSeverityCode;
}
}
}
$status = 0;
if (!empty($_GET['st']))
$status = intval($_GET['st']);
$retcode = 0;
switch ($status)
{
case 1:
{
if ($_POST['pagamento']=='CONTRASSEGNO')
$retcode = sendOrder();
else if ($_POST['pagamento']=='PAYPAL')
expresscheckout();
$status = 0;
break;
}
}
?>
<title><?php echo CHECK_OUT; ?></title>
<meta name="Keywords" content="<?php echo CHECK_OUT; ?>" />
<meta name="Description" content="<?php echo CHECK_OUT; ?>" />
<link href="/resources/css/styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php include ("top.php"); ?>
<div id="white_box">
<div id="main">
<h1><?php echo RIEPILOGO_ORDINE; ?></h1>
<?php
switch ($status)
{
case 0: /*page login*/
{
page_checkout($retcode);
break;
}
}
?>
<div class="clearer"></div>
</div>
<div class="space"></div>
<?php include ("catalog_pro.php"); ?>
<div class="clearer"></div>
</div>
<?php include ("footer.php"); ?>
</body>
</html>