array("##spedizione1##",9), "sp1" => array("##spedizione2##",30), "sp2" => array("##spedizione3##",50) ); //USARE SEMPRE CHIAVI ASSOCIATIVE (STRINGHE) //ARRAY_MERGE: Comunque, se gli array hanno le stesse chiavi numeriche, l'ultimo valore non sovrascriverà quello originale, bensì sarà accodato. $CONF['carr_tipo'] = "full"; $CONF['carr_pagina'] = "carr_carrello"; $CONF['carr_pagina_ceckout'] = "carr_checkout"; $CONF['carr_getItem'] = "carr_getItem"; $CONF['carr_back'] = "PRODOTTO"; //oppure CARRELLO $CONF['carr_solouno'] = "NO"; //1 forzo un solo prodotto nel carrello $CONF['carr_prod_table'] = "prodotti"; // da cambiare $CONF['carr_prod_pagina'] = "prodotti"; //da cambiare $CONF["file:_files/carr.css"] = "COPY,VIS"; $CONF["file:_pagine/carr_carrello.inc.php"] = "COPY"; $CONF["file:_pagine/carr_checkout.inc.php"] = "COPY"; $MENU["carr_carrello"]["ita"]["menu_txt"] = "Carrello"; $MENU["carr_carrello"]["xxx"]["menu_txt"] = "Shopping Cart"; $MENU["carr_carrello"]["xxx"]["menu_pagina_vis"] = "NO"; $MENU["carr_checkout"]["ita"]["menu_txt"] = "Checkout"; $MENU["carr_checkout"]["xxx"]["menu_txt"] = "Checkout"; $MENU["carr_checkout"]["xxx"]["menu_pagina_vis"] = "NO"; //CONFIGURAZIONE PER IL MODULO GALLERIA CHE CREA LE MINIUATURE NEL CARRELLO "FULL" $CONF["carr_gall_crop"] = "SI"; $CONF["carr_gall_q_grande"] = 85; $CONF["carr_gall_q_miniatura"] = 85; $CONF["carr_gall_min_h"] = 40; $CONF["carr_gall_min_w"] = 90; $CONF["carr_gall_max_h"] = 560; $CONF["carr_gall_max_w"] = 750; $CONF["carr_gall_margine"] = 10; $CONF["carr_gall_posh"] = "basso"; $CONF["carr_gall_posw"] = "destra"; $CONF["carr_gall_bordo"] = ""; $CONF["carr_gall_scritta"] = ""; //LINGUE $CONF["ita"]["spedizione"] = "Modifica SPEDIZIONE"; $CONF["xxx"]["spedizione"] = "Change SHIPMENT"; $CONF["ita"]["tipo_cliente"] = "Tipologia cliente"; $CONF["xxx"]["tipo_cliente"] = "Customer type"; $CONF["ita"]["privato"] = "Privato"; $CONF["xxx"]["privato"] = "Private"; $CONF["ita"]["azienda"] = "Azienda"; $CONF["xxx"]["azienda"] = "Company"; $CONF["ita"]["carr_txt_vuoto"] = "Il carrello è vuoto"; $CONF["xxx"]["carr_txt_vuoto"] = "Votre panier est vide"; $CONF["ita"]["tasse_incluse"] = "iva inclusa"; $CONF["xxx"]["tasse_incluse"] = "tax included"; $CONF["ita"]["carr_txt_title"] = "Il tuo carrello:"; $CONF["xxx"]["carr_txt_title"] = "Your shopping cart:"; $CONF["ita"]["carr_txt_rimuovi"] = "Rimuovi"; $CONF["xxx"]["carr_txt_rimuovi"] = "Remove"; $CONF["ita"]["carr_txt_immagine"] = "Immagine"; $CONF["xxx"]["carr_txt_immagine"] = "Picture"; $CONF["ita"]["carr_txt_totale"] = "Totale"; $CONF["xxx"]["carr_txt_totale"] = "Total"; $CONF["ita"]["carr_txt_dettagli"] = "Dettagli"; $CONF["xxx"]["carr_txt_dettagli"] = "Details"; $CONF["ita"]["carr_txt_quantita"] = "Quantità"; $CONF["xxx"]["carr_txt_quantita"] = "Quantity"; $CONF["ita"]["carr_txt_aggquantita"] = "Aggiorna"; $CONF["xxx"]["carr_txt_aggquantita"] = "Update"; $CONF["ita"]["carr_txt_svuota"] = "Svuota carrello"; $CONF["xxx"]["carr_txt_svuota"] = "Empty shopping cart"; $CONF["ita"]["carr_txt_concludi"] = "Concludi ordine"; $CONF["xxx"]["carr_txt_concludi"] = "Confirm your order"; $CONF["ita"]["carr_txt_continua"] = "Continua acquisto"; $CONF["xxx"]["carr_txt_continua"] = "Continue Shopping"; $CONF["ita"]["carr_txt_vaicarrello"] = "Vai al carrello"; $CONF["xxx"]["carr_txt_vaicarrello"] = "Go to shopping cart"; $CONF["ita"]["carr_txt_prezzo_unit"] = "Prezzo per unità"; $CONF["xxx"]["carr_txt_prezzo_unit"] = "Price per unit"; $CONF["ita"]["carr_txt_prezzo"] = "Prezzo"; $CONF["xxx"]["carr_txt_prezzo"] = "Price"; //############################################################################## // TEMPLATE FULL //############################################################################## $CONF['carr_tpl_full_head'] = '

{carr_txt_title}

'; $CONF['carr_tpl_full_item'] = ' '; $CONF['carr_tpl_full_noitem'] = ''; $CONF['carr_tpl_full_svuota'] = '{carr_txt_svuota} '; $CONF['carr_tpl_full_spedizione'] = ''; $CONF['carr_tpl_full_tipo_cliente'] = ''; $CONF['carr_tpl_full_foot'] = ' #SPEDIZIONE#
{carr_txt_immagine} {carr_txt_dettagli} {carr_txt_prezzo_unit} {carr_txt_quantita} {carr_txt_rimuovi}
#IMMAGINE# #CODICE#
#NOME#
#PREZZOUNIT# € X
{carr_txt_vuoto}
 {spedizione}
 {tipo_cliente}
{carr_txt_totale}: #TOTALE# €

{carr_txt_continua} {carr_txt_concludi}


#SVUOTA#
'; //############################################################################## // TEMPLATE MINI //############################################################################## $CONF['carr_tpl_mini_head'] = '

{carr_txt_title}

'; $CONF['carr_tpl_mini_item'] = ' '; $CONF['carr_tpl_mini_noitem'] = ' '; $CONF['carr_tpl_mini_svuota'] = ' {carr_txt_svuota} '; $CONF['carr_tpl_mini_foot'] = '
#QUANTITA# x #NOME#
{carr_txt_vuoto}

TOTALE: #TOTALE# €

{carr_txt_vaicarrello}

'; //############################################################################## // TEMPLATE FORM //############################################################################## $CONF['carr_tpl_form_head'] = ""; $CONF['carr_tpl_form_item'] = "x#QUANTITA#\t\t#PREZZO# EU\t#CODICE# - #NOME# \n"; $CONF['carr_tpl_form_noitem'] = ''; $CONF['carr_tpl_form_svuota'] = ''; $CONF['carr_tpl_form_foot'] = "#SPEDIZIONE#\n\tTOTALE: #TOTALE# EU"; //############################################################################## // FUNZIONE RECUPERO PRODOTTI //############################################################################## //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// function carr_pre_page_action(){ global $DATI; if(!isset($_SESSION['indicarr'])){ $_SESSION['indicarr'] = array(); } $GLOBALS['CARRELLO'] =& $_SESSION['indicarr']; if($DATI['carr_spedizione'] == "SI" && !isset($_SESSION['spedizione'])){ $_SESSION['spedizione'] = $DATI['carr_spedizione_default']; } if($DATI['carr_tipo_cliente'] == "SI" && !isset($_SESSION['carr_tipo_cliente'])){ $_SESSION['carr_tipo_cliente'] = 0; } $GLOBALS['SPEDIZIONE'] =& $_SESSION['spedizione']; if(isset($_REQUEST['carradd'])) carr_add(); else if(isset($_REQUEST['carrrem'])) carr_rem(); else if(isset($_REQUEST['carrminus'])) carr_minus(); else if(isset($_REQUEST['carrsvuota']) && $_REQUEST['carrsvuota']) carr_svuota(); else if(isset($_REQUEST['carrnuovequantita'])) carr_updateq(); else if(isset($_REQUEST['carr_nuovo_tipo_cliente'])) update_extra_info(); else if(isset($_REQUEST['carr_nuova_spedizione'])) update_extra_info(); if(function_exists("carr_custom_update")) carr_custom_update(); } function carr_addLink($prodottoId, $quanti=1){ return genera_link($GLOBALS['DATI']['carr_pagina'], NULL, "carradd=$prodottoId&carrq=$quanti"); } function carr_remLink($prodottoId){ return genera_link($GLOBALS['DATI']['carr_pagina'], NULL, "carrrem=$prodottoId"); } function carr_minusLink($prodottoId){ return genera_link($GLOBALS['DATI']['carr_pagina'], NULL, "carrminus=$prodottoId"); } function carr_svuotaLink(){ return genera_link($GLOBALS['DATI']['carr_pagina'], NULL, "carrsvuota=1"); } function carr_add(){ global $DATI, $CARRELLO; $id = $_REQUEST['carradd']; //cerco se l'articolo è già nel carrello $trovato = false; @reset($CARRELLO); while(!empty($CARRELLO) && !$trovato && list($index, $prod) = each($CARRELLO)){ if($prod['id'] == $id){ if($DATI['carr_solouno'] == "SI") $CARRELLO[$index]['quantita'] = 1; else $CARRELLO[$index]['quantita'] += $_REQUEST['carrq']; $trovato = true; } } //aggiungo l'articolo se non è stato trovato if(!$trovato){ $articolo = $DATI['carr_getItem']($_REQUEST['carradd']); $articolo['quantita'] = $_REQUEST['carrq']; $CARRELLO[] = $articolo; } carr_back(); } function carr_minus(){ global $CARRELLO; $id = $_REQUEST['carrminus']; //cerco se l'articolo è già nel carrello $trovato = false; @reset($CARRELLO); while(!empty($CARRELLO) && !$trovato && list($index, $prod) = each($CARRELLO)){ if($prod['id'] == $id){ $CARRELLO[$index]['quantita']--; if($CARRELLO[$index]['quantita'] < 1){ unset($CARRELLO[$index]); } } } carr_back(); } function carr_rem(){ global $CARRELLO; $id = $_REQUEST['carrrem']; //cerco se l'articolo è già nel carrello $trovato = false; @reset($CARRELLO); while(!empty($CARRELLO) && !$trovato && list($index, $prod) = each($CARRELLO)){ if($prod['id'] == $id){ unset($CARRELLO[$index]); } } carr_back(); } function carr_svuota(){ global $CARRELLO; $CARRELLO = array(); carr_back(); } function carr_back(){ //se ho l' opzione if($GLOBALS['DATI']['carr_back'] == "PRODOTTO") { $page = $_SERVER["HTTP_REFERER"] ? $_SERVER["HTTP_REFERER"] : genera_link("root"); header("Location: $page"); exit(); } if($GLOBALS['DATI']['carr_back'] == "CARRELLO") { indi_redirect_pagina($GLOBALS['DATI']['carr_pagina']); } } function carr_updateq(){ global $DATI, $CARRELLO; @reset($CARRELLO); while(!empty($CARRELLO) && list($i, $art) = each($CARRELLO)){ $CARRELLO[$i]['quantita'] = intval($_REQUEST['carrnuovequantita'][$i]['quantita']); if(!$CARRELLO[$i]['quantita']) unset($CARRELLO[$i]); } if($DATI['carr_spedizione'] == "SI"){ carr_update_spedizione(); } if($DATI['carr_tipo_cliente'] == "SI"){ carr_update_tipo_cliente(); } } function update_extra_info(){ carr_update_tipo_cliente(); carr_update_spedizione(); } function carr_update_spedizione(){ global $CARRELLO, $SPEDIZIONE; if(isset($_REQUEST['carr_nuova_spedizione'])){ $SPEDIZIONE = $_REQUEST['carr_nuova_spedizione']; } } function carr_update_tipo_cliente(){ global $CARRELLO, $SPEDIZIONE; if(isset($_REQUEST['carr_nuovo_tipo_cliente'])){ $_SESSION['carr_tipo_cliente'] = $_REQUEST['carr_nuovo_tipo_cliente']; } } function gall4carr($immagine){ global $DATI, $CARRELLO; $CONFIGURAZIONE["gall_img"] = $immagine; // riprendo la configurazione del modulo per passarla a gall(); $CONFIGURAZIONE["gall_crop"] = $DATI["carr_gall_crop"]; $CONFIGURAZIONE["gall_q_grande"] = $DATI["carr_gall_q_grande"]; $CONFIGURAZIONE["gall_q_miniatura"] = $DATI["carr_gall_q_miniatura"]; $CONFIGURAZIONE["gall_min_h"] = $DATI["carr_gall_min_h"]; $CONFIGURAZIONE["gall_min_w"] = $DATI["carr_gall_min_w"]; $CONFIGURAZIONE["gall_max_h"] = $DATI["carr_gall_max_h"]; $CONFIGURAZIONE["gall_max_w"] = $DATI["carr_gall_max_w"]; $CONFIGURAZIONE["gall_margine"] = $DATI["carr_gall_margine"]; $CONFIGURAZIONE["gall_posh"] = $DATI["carr_gall_posh"]; $CONFIGURAZIONE["gall_posw"] = $DATI["carr_gall_posw"]; $CONFIGURAZIONE["gall_bordo"] = $DATI["carr_gall_bordo"]; $CONFIGURAZIONE["gall_scritta"] = $DATI["carr_gall_scritta"]; return gall($CONFIGURAZIONE); } function carr_show($PARAM = "full"){ //posso passare la stringa del tipo di carrello oppure un array con le opzioni di $DATI da personalizzare global $DATI, $CARRELLO, $SPEDIZIONE; if(is_array($PARAM)){ $CONFIGURAZIONE = array_merge($DATI, $PARAM); $tipo = $CONFIGURAZIONE['carr_tipo']; } else{ $tipo = $PARAM; $CONFIGURAZIONE = $DATI; } //creo il pezzo di codice per l'header $return = $CONFIGURAZIONE['carr_tpl_'.$tipo.'_head']; //creo il pezzo di codice per i prodotti nel carrello $totale = 0; //creo il pezzo di codice per il cestino da sostituire nel footer if(!empty($CARRELLO)){ $cerca = array("#INDEXCARR#", "#RIGHE_PD#", "#ID#", "#NOME#", "#CODICE#", "#PREZZOUNIT#", "#PREZZOUNIT2#", "#PREZZOUNIT3#", "#PREZZO#", "#PREZZO2#", "#PREZZO3#", "#LINK#", "#IMMAGINE#", "#IMMAGINE2#", "#QUANTITA#", "#RIMUOVILINK#", "#PLUSLINK#", "#MINUSLINK#"); $item = $CONFIGURAZIONE['carr_tpl_'.$tipo.'_item']; @reset($CARRELLO); $pd = true; while(!empty($CARRELLO) && list($i, $art) = each($CARRELLO)){ $pd = !$pd; $sostituisci = array($i, $pd ? "p" : "d", $art['id'], $art['nome'], $art['codice'], number_format($art['prezzo'], 2, ',', ''), number_format($art['prezzo2'], 2, ',', ''), number_format($art['prezzo3'], 2, ',', ''), number_format($art['prezzo'] * $art['quantita'], 2, ',', ''), number_format($art['prezzo2'] * $art['quantita'], 2, ',', ''), number_format($art['prezzo3'] * $art['quantita'], 2, ',', ''), $art['link'], gall4carr($art['immagine']), gall4carr($art['immagine2']), $art['quantita'], carr_remLink($art['id']), carr_addLink($art['id']), carr_minusLink($art['id'])); $return .= str_replace($cerca, $sostituisci, $item); $totale += ($art['prezzo'] * $art['quantita']); } if($DATI['carr_spedizione'] == "SI"){ $totale += $DATI['carr_spedizioni'][$SPEDIZIONE][1]; } $svuota = str_replace("#SVUOTALINK#", carr_svuotaLink(), $CONFIGURAZIONE['carr_tpl_'.$tipo.'_svuota']); } else{ $return .= $CONFIGURAZIONE['carr_tpl_'.$tipo.'_noitem']; $svuota = ''; } //creo il pezzo di codice del footer $cerca = array("#SPEDIZIONE#", "#TIPO_CLIENTE#", "#TOTALE#", "#SVUOTA#", "#CECKOUTLINK#", "#CONTINUALINK#", "#CARRELLOLINK#"); if($DATI['carr_aggiungi_iva'] == "SI") $totale = number_format($totale, 2, ",", ".") . " (" . number_format($totale * (1 + $DATI['carr_iva']/100), 2, ",", ".") . " {tasse_incluse})"; else $totale = number_format($totale, 2, ",", "."); $sostituisci = array(carr_spedizione_template($tipo), carr_tipo_cliente_template($tipo), $totale, $svuota, genera_link($CONFIGURAZIONE['carr_pagina_ceckout']), genera_link($CONFIGURAZIONE['carr_prod_pagina']), genera_link($CONFIGURAZIONE['carr_pagina'])); $return .= str_replace($cerca, $sostituisci, $CONFIGURAZIONE['carr_tpl_'.$tipo.'_foot']); //se e' un form if($tipo == "form") return $return; else return encode2($return); } function carr_get_importo(){ global $DATI, $CARRELLO, $SPEDIZIONE; @reset($CARRELLO); $totale = 0; while(!empty($CARRELLO) && list($i, $art) = each($CARRELLO)){ $totale += ($art['prezzo'] * $art['quantita']); } if($DATI['carr_spedizione'] == "SI"){ $totale += $DATI['carr_spedizioni'][$SPEDIZIONE][1]; } return $totale; } function carr_spedizione_template($tipo){ global $DATI, $CARRELLO, $SPEDIZIONE; if($DATI['carr_spedizione'] == "SI"){ if($tipo == "full"){ foreach($DATI["carr_spedizioni"] as $i=>$sp){ $option_select .= ""; } $return = str_replace("##OPTION_SELECT##", $option_select, $DATI["carr_tpl_".$tipo."_spedizione"]); } else{ if($tipo == "form"){ $spsp = $DATI['carr_spedizioni'][$SPEDIZIONE][1]; $nosp = $DATI['carr_spedizioni'][$SPEDIZIONE][0]; $return = "\t\t".number_format($spsp, 2, ',', '')." EU\t$nosp \n"; } } return $return; } else return ""; } function carr_tipo_cliente_template($tipo){//clonato funzionamento della spedizione per fare veloce global $DATI, $CARRELLO, $SPEDIZIONE; $clienti = array("{privato}", "{azienda}"); if($DATI['carr_tipo_cliente'] == "SI" && $tipo == "full"){ foreach($clienti as $i=>$cl){ $option_select .= ""; } $return = str_replace("##OPTION_SELECT##", $option_select, $DATI["carr_tpl_full_tipo_cliente"]); return $return; } else return ""; } ?>