array("##spedizione1##",9), // "sp1" => array("##spedizione2##",30), // "sp2" => array("##spedizione3##",50) // ); $CONF['carr_spedizione'] = "SI"; $CONF['carr_aggiungi_iva'] = "NO"; $CONF['carr_decimali_articoli'] = 2; $CONF['togli_zeri_dopo_il_secondo_decimale'] = false;//fatto per drinkstore 1.01100 -> 1.011 $CONF['carr_iva'] = "22"; $CONF['carr_tipo_cliente'] = "NO"; //0 privato //1 azienda $CONF['carr_spedizione_default'] = "sp0"; //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_aggiorna_prodotti_gia_nel_carrello'] = false;//serve chiamare carr_getItem ad ogni modifica del carrello (altrimenti viene chiamata solo quando il prodotto non è nel carrello) $CONF['carr_back'] = "PRODOTTO"; //oppure CARRELLO oppure CHECKOUT $CONF['carr_solouno'] = "NO"; //1 forzo un solo prodotto nel carrello $CONF['carr_prod_table'] = "prodotti"; // da cambiare $CONF['carr_multiple_field'] = "multipli";//campo per gestire l'aggiunta multipla di prodotti (ricordarsi di metterlo nell carr_get_item!!) $CONF['carr_field_limite'] = "limite"; //campo del db (o comunque di ritorno da carr_get_item che indica la quantità massima acquistabile di ogni prodotto $CONF['carr_prod_pagina'] = "prodotti"; //da cambiare if ($CONF["indi_subversion"] < 6) { $CONF["file:_files/carr.css"] = "COPY,VIS"; $CONF["file:_pics/carr"] = "COPY"; $CONF["file:_pics/carr/ita"] = "COPY"; } $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"] = 100; $CONF["carr_gall_min_h"] = 80; $CONF["carr_gall_min_w"] = 180; $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 //LINGUE $CONF["ita"]["carr_prodotto_singolo"] = "prodotto"; $CONF["fra"]["carr_prodotto_singolo"] = "produit"; $CONF["xxx"]["carr_prodotto_singolo"] = "product"; $CONF["ita"]["carr_prodotto_plurale"] = "prodotti"; $CONF["fra"]["carr_prodotto_plurale"] = "produits"; $CONF["xxx"]["carr_prodotto_plurale"] = "products"; $CONF["ita"]["spedizione"] = "Modifica SPEDIZIONE"; $CONF["fra"]["spedizione"] = "Modifiez LIVRAISON"; $CONF["xxx"]["spedizione"] = "Change SHIPMENT"; $CONF["ita"]["spedizione_txt"] = "Spedizione"; $CONF["fra"]["spedizione_txt"] = "Livraison"; $CONF["xxx"]["spedizione_txt"] = "Shipment"; $CONF["ita"]["tipo_cliente"] = "Tipologia cliente"; $CONF["fra"]["tipo_cliente"] = "Type de client"; $CONF["xxx"]["tipo_cliente"] = "Customer type"; $CONF["ita"]["privato"] = "Privato"; $CONF["fra"]["privato"] = "Privé"; $CONF["xxx"]["privato"] = "Private"; $CONF["ita"]["azienda"] = "Azienda"; $CONF["fra"]["azienda"] = "Entreprise"; $CONF["xxx"]["azienda"] = "Company"; $CONF["ita"]["carr_txt_vuoto"] = "Il carrello é vuoto"; $CONF["fra"]["carr_txt_vuoto"] = "Le panier est vide"; $CONF["xxx"]["carr_txt_vuoto"] = "Your shopping cart is empty"; $CONF["ita"]["tasse_incluse"] = "iva inclusa"; $CONF["fra"]["tasse_incluse"] = "TVA incluse"; $CONF["xxx"]["tasse_incluse"] = "tax included"; $CONF["ita"]["carr_txt_title"] = "Il tuo carrello:"; $CONF["fra"]["carr_txt_title"] = "Votre panier:"; $CONF["xxx"]["carr_txt_title"] = "Your shopping cart:"; $CONF["ita"]["carr_txt_rimuovi"] = "Rimuovi"; $CONF["fra"]["carr_txt_rimuovi"] = "Annulez"; $CONF["xxx"]["carr_txt_rimuovi"] = "Remove"; $CONF["ita"]["carr_txt_immagine"] = "Immagine"; $CONF["fra"]["carr_txt_immagine"] = "Photo"; $CONF["xxx"]["carr_txt_immagine"] = "Picture"; $CONF["ita"]["carr_txt_totale"] = "Totale"; $CONF["fra"]["carr_txt_totale"] = "Total"; $CONF["xxx"]["carr_txt_totale"] = "Total"; $CONF["ita"]["carr_txt_dettagli"] = "Dettagli"; $CONF["fra"]["carr_txt_dettagli"] = "Détail"; $CONF["xxx"]["carr_txt_dettagli"] = "Details"; $CONF["ita"]["carr_txt_quantita"] = "Quantità"; $CONF["fra"]["carr_txt_quantita"] = "Quantité"; $CONF["xxx"]["carr_txt_quantita"] = "Quantity"; $CONF["ita"]["carr_txt_aggquantita"] = "Aggiorna"; $CONF["fra"]["carr_txt_aggquantita"] = "Mise à jour"; $CONF["xxx"]["carr_txt_aggquantita"] = "Update"; $CONF["ita"]["carr_txt_svuota"] = "Svuota carrello"; $CONF["fra"]["carr_txt_svuota"] = "Videz panier"; $CONF["xxx"]["carr_txt_svuota"] = "Empty shopping cart"; $CONF["ita"]["carr_txt_concludi"] = "Concludi ordine"; $CONF["fra"]["carr_txt_concludi"] = "Terminez commande"; $CONF["xxx"]["carr_txt_concludi"] = "Confirm your order"; $CONF["ita"]["carr_txt_continua"] = "Continua acquisto"; $CONF["fra"]["carr_txt_continua"] = "Continuez achat"; $CONF["xxx"]["carr_txt_continua"] = "Continue shopping"; $CONF["ita"]["carr_txt_vaicarrello"] = "Vai al carrello"; $CONF["fra"]["carr_txt_vaicarrello"] = "Allez au panier"; $CONF["xxx"]["carr_txt_vaicarrello"] = "Go to shopping cart"; $CONF["ita"]["carr_txt_prezzo_unit"] = "Prezzo per unità"; $CONF["fra"]["carr_txt_prezzo_unit"] = "Prix unitaire"; $CONF["xxx"]["carr_txt_prezzo_unit"] = "Price per unit"; $CONF["ita"]["carr_txt_prezzo"] = "Prezzo"; $CONF["fra"]["carr_txt_prezzo"] = "Prix"; $CONF["xxx"]["carr_txt_prezzo"] = "Price"; $CONF["ita"]["errore_disponibilita"] = "La quantità richiesta per uno o più prodotti non è disponibile. Controlla il tuo carrello."; $CONF["fra"]["errore_disponibilita"] = "La quantité requise d'un ou plusieurs produits ne sont pas disponibles. Vérifiez votre panier."; $CONF["xxx"]["errore_disponibilita"] = "The quantity required for one or more products is not available. Check your shopping cart."; //############################################################################## // TEMPLATE CHECKOUT //############################################################################## $CONF['carr_tpl_checkout_head'] = ""; $CONF['carr_tpl_checkout_item'] = " "; $CONF['carr_tpl_checkout_noitem'] = ''; $CONF['carr_tpl_checkout_svuota'] = ''; // $CONF['carr_tpl_checkout_spedizione'] = '##NOME## ##VALUE##'; $CONF['carr_tpl_checkout_foot'] = "#SPEDIZIONE#
x#QUANTITA# #PREZZOUNIT# € #NOME#

TOTALE: #TOTALE# €
"; //############################################################################## // TEMPLATE FULL //############################################################################## $CONF['carr_tpl_html'] = "NO"; //se sì non fa html entitities su nome $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 FINALE //############################################################################## $CONF['carr_tpl_finale_head'] = '
'; $CONF['carr_tpl_finale_item'] = ' '; $CONF['carr_tpl_finale_noitem'] = ''; $CONF['carr_tpl_finale_svuota'] = '{carr_txt_svuota} '; $CONF['carr_tpl_finale_spedizione'] = ''; $CONF['carr_tpl_finale_tipo_cliente'] = ''; $CONF['carr_tpl_finale_foot'] = '
#IMMAGINE_NOING# #QUANTITA# x #NOME# #PREZZO# €
{carr_txt_vuoto}
 {spedizione}
 {tipo_cliente}
##checkout_totale_finale##: #TOTALE# €
'; //############################################################################## // 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 INLINE //############################################################################## $CONF['carr_tpl_inline_head'] = '
#NUMEROPRODOTTI# nel carrello (#TOTALE# €)
'; $CONF['carr_tpl_inline_noitem'] = 'Nessun ##carr_prodotto_singolo## nel carrello'; // $CONF['carr_tpl_inline_foot'] = ' // // // //
// //

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'] = "\t\t#SPEDIZIONE#\n\tTOTALE: #TOTALE# EU"; //############################################################################## // FUNZIONE RECUPERO PRODOTTI //############################################################################## //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// function carr_pre_page_action($reset = false){ global $DATI, $CARRELLO, $AUTH; $carr_id = 'indi_carr_'.$DATI["sito"]; if(!isset($_SESSION[$carr_id]) || $reset){ $_SESSION[$carr_id] = array(); $_SESSION[$carr_id]['info'] = array(); } $GLOBALS['CARRELLO'] =& $_SESSION[$carr_id]; $CARRELLO =& $GLOBALS['CARRELLO']; if(!isset($CARRELLO['prodotti'])){ $CARRELLO['prodotti'] = array(); } if(!$CARRELLO['uid'] || $reset){ $CARRELLO['uid'] = strftime("%Y%m%d_%H%M%S").($AUTH["uid"] ? ("_u".$AUTH["uid"]) : uniqid("_")); } if($DATI['carr_spedizione'] == "SI" && !isset($CARRELLO['spedizione'])){ $CARRELLO['spedizione'] = $DATI['carr_spedizione_default']; } if($DATI['carr_tipo_cliente'] == "SI" && !isset($CARRELLO['carr_tipo_cliente'])){ $CARRELLO['carr_tipo_cliente'] = 0; } if(isset($_REQUEST['carradd'])) carr_add(); else if(isset($_REQUEST['carrrem'])) carr_rem(); else if(isset($_REQUEST['carrminus'])) carr_minus(); else if(!$reset && 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_spedizioni")){ $DATI['carr_spedizioni'] = carr_custom_spedizioni(); } if(is_array($DATI['carr_spedizioni']) && count($DATI['carr_spedizioni']) && (!$CARRELLO["spedizione"] || !array_key_exists($CARRELLO["spedizione"], $DATI['carr_spedizioni']))){ $keys = array_keys($DATI['carr_spedizioni']); $CARRELLO["spedizione"] = $keys[0]; } if(function_exists("carr_custom_update")) carr_custom_update(); } if(!function_exists('carr_info')) { function carr_info(){ global $CARRELLO; $return = $CARRELLO['info']; $CARRELLO['info'] = array(); return $return; } } else { $body .= "\nhttp://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI] " . date ("d-M-Y H:i:s", mktime()) . " " . __FILE__ . " " . __LINE__; $body .= "\n\n" . print_r(array('$_GET'=>$_GET, '$_POST'=>$_POST, '$_SERVER'=>$_SERVER, '$_SESSION'=>$_SESSION), TRUE); mailtnx("carlo@tnx.it", "carr_info() dichiarata due volte", $body); } function carr_check_disponibilita($index){ global $CARRELLO; if(!function_exists('carr_getDisponibilita')) return true; $disponibili = carr_getDisponibilita($index); if($disponibili < $CARRELLO["prodotti"][$index]['quantita']){ $CARRELLO["prodotti"][$index]['quantita'] = $disponibili; if($CARRELLO["prodotti"][$index]['quantita'] < 1) unset($CARRELLO["prodotti"][$index]); // $CARRELLO['info'][] = "{errore_disponibilita}"; return false; } else return true; } function carr_addLink($prodottoId = null, $quanti_or_replaceid=1){ return genera_link($GLOBALS['DATI']['carr_pagina'], NULL, $quanti_or_replaceid ? "carradd=$prodottoId&carrq=$quanti_or_replaceid" : "carradd=$prodottoId"); } 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_real_qta($id, $quanti){ //$id può essere anche l'array del carrello (non faccio la query) global $DATI; if(is_array($id)) $articolo = $id; else $articolo = $DATI['carr_getItem']($id);//non mi interessa passare il secondo parametro perchè cerco solo 'carr_multiple_field' return ($articolo[$DATI['carr_multiple_field']] && $articolo[$DATI['carr_multiple_field']] != 1) ? $articolo[$DATI['carr_multiple_field']] * $quanti : $quanti ; } function carr_add($id = null, $quanti_or_replaceid = null, $carr_back = true){ global $DATI, $CARRELLO; if(!is_spider()){ if(is_null($id)) $id = $_REQUEST['carradd']; if(is_null($quanti_or_replaceid)) $quanti_or_replaceid = ($_REQUEST['carrq'] ? $_REQUEST['carrq'] : 1); if(!is_numeric($quanti_or_replaceid)){ $tolto = carr_rem($quanti_or_replaceid, false); $quanti = $tolto['quantita']; } else $quanti = $quanti_or_replaceid; $real_quanti = carr_real_qta($id, $quanti); if($DATI['carr_aggiorna_dati_prodotti_gia_nel_carrello'] || !isset($CARRELLO["prodotti"][$id])){ $articolo = $DATI['carr_getItem']($id, $CARRELLO["prodotti"][$id]['quantita']+$real_quanti); if($CARRELLO["prodotti"][$id]) $articolo['quantita'] = $CARRELLO["prodotti"][$id]['quantita']; $CARRELLO["prodotti"][$id] = $articolo; } if($DATI['carr_solouno'] == "SI") $CARRELLO["prodotti"][$id]['quantita'] = 1; else $CARRELLO["prodotti"][$id]['quantita'] += $real_quanti; if(!carr_check_disponibilita($id) and !is_array($CARRELLO["info"])) $CARRELLO["info"][] = "{errore_disponibilita}"; carr_check_limit($id); if($carr_back) carr_back($CARRELLO["prodotti"][$id]['link']); } } function carr_add_MACOMECAZZOLAVEVOFATTA($id = null, $quanti = null, $carr_back = true){ global $DATI, $CARRELLO; if(!is_spider()){ if(is_null($id)) $id = $_REQUEST['carradd']; if(is_null($quanti)) $quanti = ($_REQUEST['carrq'] ? $_REQUEST['carrq'] : 1); $real_quanti = carr_real_qta($id, $quanti); //cerco se l'articolo è già nel carrello $trovato = false; @reset($CARRELLO["prodotti"]); while(!empty($CARRELLO["prodotti"]) && !$trovato && list($index, $prod) = each($CARRELLO["prodotti"])){ if((string)$id === (string)$index){ if($DATI['carr_solouno'] == "SI") $CARRELLO["prodotti"][$index]['quantita'] = 1; else $CARRELLO["prodotti"][$index]['quantita'] += $real_quanti; carr_check_disponibilita($index); carr_check_limit($index); $trovato = true; if($carr_back) carr_back($CARRELLO["prodotti"][$index]['link']); } } //aggiungo l'articolo se non è stato trovato e richiamo la funzione if(!$trovato){ $articolo = $DATI['carr_getItem']($id); $articolo['quantita'] = 0; $CARRELLO["prodotti"][$id] = $articolo; carr_add($id, $quanti, $carr_back); return; } } } function carr_minus(){ global $CARRELLO; $id = $_REQUEST['carrminus']; $quanti = carr_real_qta($id, 1); //cerco se l'articolo è già nel carrello $trovato = false; @reset($CARRELLO["prodotti"]); while(!empty($CARRELLO["prodotti"]) && !$trovato && list($index, $prod) = each($CARRELLO["prodotti"])){ if($index == $id){ $CARRELLO["prodotti"][$index]['quantita']-=$quanti; if($CARRELLO["prodotti"][$index]['quantita'] < 1){ unset($CARRELLO["prodotti"][$index]); } } } carr_back(); } function carr_rem($id = null, $carr_back = true){ global $CARRELLO; if(!$id) $id = stripslashes($_REQUEST['carrrem']); // if($_SERVER['REMOTE_ADDR'] == '192.168.0.178' || $_GET['debugtnx']){ // echo '
';
   //        $debugBacktrace = debug_backtrace(); array_unshift($debugBacktrace, array('file'=>__FILE__, 'line'=>__LINE__, 'function'=>'debugTnx')); foreach($debugBacktrace as $debugLine) echo "".str_replace("/tnx/www/html/www/", "", $debugLine['file']).""." ".$debugLine['function']."()
"; // $printMe = $_REQUEST; ob_start(); if(is_object($printMe)||is_array($printMe)) print_r($printMe); else var_dump($printMe); echo htmlentities(ob_get_clean(), ENT_COMPAT|ENT_HTML401|ENT_SUBSTITUTE, 'UTF-8'); // echo '
'; // die; // } //cerco se l'articolo è già nel carrello $trovato = false; @reset($CARRELLO["prodotti"]); while(!empty($CARRELLO["prodotti"]) && !$trovato && list($index, $prod) = each($CARRELLO["prodotti"])){ if($index == $id){ $tolgo = $CARRELLO["prodotti"][$index]; unset($CARRELLO["prodotti"][$index]); if(!$carr_back) return $tolgo;//lo uso per carr_add con replace } } if($carr_back) carr_back(); } function carr_svuota($dont_redirect = false){ carr_pre_page_action(true); if(!$dont_redirect) carr_back(); } function carr_back($link = null){ if($GLOBALS['DATI']['carr_back'] == "PRODOTTO") { if($link) { header("Location: $link"); exit(); } $page = $_SERVER["HTTP_REFERER"] ? $_SERVER["HTTP_REFERER"] : genera_link("root"); header("Location: $page"); exit(); } else if($GLOBALS['DATI']['carr_back'] == "CARRELLO") { indi_redirect_pagina($GLOBALS['DATI']['carr_pagina']); } else if($GLOBALS['DATI']['carr_back'] == "CHECKOUT") { indi_redirect_pagina("carr_checkout"); } } function carr_check_limit($index){ global $DATI, $CARRELLO; if(!$CARRELLO["prodotti"][$index][$DATI['carr_field_limite']]) return; else{ $limite = $CARRELLO["prodotti"][$index][$DATI['carr_field_limite']]; if($CARRELLO["prodotti"][$index]['quantita'] > $limite) $CARRELLO["prodotti"][$index]['quantita'] = $limite; } } function carr_updateq(){ global $DATI, $CARRELLO; @reset($CARRELLO["prodotti"]); $retDisponibilita = true; while(!empty($CARRELLO["prodotti"]) && list($i, $art) = each($CARRELLO["prodotti"])) if(isset($_REQUEST['carrnuovequantita'][$i]['quantita'])){ $realq = carr_real_qta($art, 1); //controllo se sono meno del minimo ordinabile if($_REQUEST['carrnuovequantita'][$i]['quantita'] && $_REQUEST['carrnuovequantita'][$i]['quantita'] < $realq) $_REQUEST['carrnuovequantita'][$i]['quantita'] = $realq; $nuove_quantita = round((float)$_REQUEST['carrnuovequantita'][$i]['quantita'] / $realq) * $realq; if($DATI['carr_aggiorna_dati_prodotti_gia_nel_carrello']){ $CARRELLO["prodotti"][$i] = $DATI['carr_getItem']($i, $nuove_quantita); } //controllo e correggo a multipli del minimo ordinabile $CARRELLO["prodotti"][$i]['quantita'] = $nuove_quantita; if(!$CARRELLO["prodotti"][$i]['quantita']) unset($CARRELLO["prodotti"][$i]); else{ $retDisponibilita = carr_check_disponibilita($i) && $retDisponibilita; carr_check_limit($i); } } if(!$retDisponibilita) $CARRELLO["info"][] = "{errore_disponibilita}"; else unset($CARRELLO["info"]); 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; if(isset($_REQUEST['carr_nuova_spedizione'])){ $CARRELLO["spedizione"] = $_REQUEST['carr_nuova_spedizione']; } } function carr_update_tipo_cliente(){ global $CARRELLO; if(isset($_REQUEST['carr_nuovo_tipo_cliente'])){ $CARRELLO['carr_tipo_cliente'] = $_REQUEST['carr_nuovo_tipo_cliente']; } } function gall4carr($immagine, $noing = 0){ 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"]; if($noing) $CONFIGURAZIONE["gall_tipo"] = "NOING"; if(strpos($immagine, "://") != false || is_file($immagine)) return gall($CONFIGURAZIONE); else return null; } function carr_get_double($mix) { //cecca //prova a ritornare un numero da una variabile che potrebbe essere un numero ma anche una stringa formatta con punti e virgole if (is_string($mix)) { if (strpos($mix, ".") !== FALSE && strpos($mix, ",") !== FALSE) { if (strpos($mix, ".") < strpos($mix, ",")) { //c'è prima il punto quindi il punto dovrebbe essere usato come separatore delle migliaia e si puo' togliere $mix = str_replace(".", "", $mix); //e converto la virgola in punto $mix = str_replace(",", ".", $mix); } else { //c'è prima la virgola quindi la virgola dovrebbe essere usato come separatore delle migliaia e si puo' togliere $mix = str_replace(",", "", $mix); } } else if (strpos($mix, ",") !== FALSE) { //se presente solo la virgola la converto in punto $mix = str_replace(",", ".", $mix); } return (double)$mix; } else { return $mix; } } function carr_number_format_articoli($numero){ global $DATI; $numero = carr_get_double($numero); $decimali = 2; if ($DATI['carr_decimali_articoli']) $decimali = $DATI['carr_decimali_articoli']; $ret = number_format($numero, $decimali, ",", "."); if ($DATI['togli_zeri_dopo_il_secondo_decimale']) $return = preg_replace("/(,\d{2,}?)0*$/", '$1', $ret); return $ret; } function carr_number_format_articoli_old($numero){ //cecca, modificata, vedi sopra il 04/07/2012 per il separatore delle migliaia global $DATI; $return = number_format($numero, $DATI['carr_decimali_articoli'], ',', ''); if($DATI['togli_zeri_dopo_il_secondo_decimale']) $return = preg_replace("/(,\d{2,}?)0*$/", '$1', $return); return $return; } function carr_show($PARAM = "full", $messaggio_carrello_vuoto = false){ //posso passare la stringa del tipo di carrello oppure un array con le opzioni di $DATI da personalizzare global $DATI, $CARRELLO; if(empty($CARRELLO["prodotti"]) && $messaggio_carrello_vuoto){ if($messaggio_carrello_vuoto === true) return '';//compatibilità con la prima versione else return $messaggio_carrello_vuoto; } if(is_array($PARAM)){ $CONFIGURAZIONE = array_merge($DATI, $PARAM); $tipo = $CONFIGURAZIONE['carr_tipo']; } else{ $tipo = $PARAM; $CONFIGURAZIONE = $DATI; } $return = ""; //creo il pezzo di codice per i prodotti nel carrello $item = $CONFIGURAZIONE['carr_tpl_'.$tipo.'_item']; $totale = 0; $numeroprodotti = 0; if(!empty($CARRELLO["prodotti"])){ $cerca = array("#INDEXCARR#", "#RIGHE_PD#", "#ID#", "#NOME#", "#CODICE#", "#ARTICOLO#", "#PREZZOUNIT#", "#PREZZOUNIT2#",///??????????????? "#PREZZOUNIT3#",///??????????????? "#PREZZO#", "#PREZZO2#", "#PREZZO3#", "#LINK#", "#IMMAGINE_PATH#", "#IMMAGINE_NOING#", "#IMMAGINE#", "#IMMAGINE2#", "#QUANTITA#", "#RIMUOVILINK#", "#PLUSLINK#", "#MINUSLINK#"); $item = $CONFIGURAZIONE['carr_tpl_'.$tipo.'_item']; @reset($CARRELLO["prodotti"]); $pd = true; $func = function_exists("gall4carr_custom") ? 'gall4carr_custom' : 'gall4carr'; while(!empty($CARRELLO["prodotti"]) && list($i, $art) = each($CARRELLO["prodotti"])){ $pd = !$pd; $sostituisci = array($i, $pd ? "p" : "d", $art['id'], $CONFIGURAZIONE['carr_tpl_html'] == "SI" ? nl2br($art['nome']) : nl2br(indi_htmlentities($art['nome'])), indi_htmlentities($art['codice']), indi_htmlentities($art['articolo']), carr_number_format_articoli($art['prezzo']), carr_number_format_articoli($art['prezzo2']), carr_number_format_articoli($art['prezzo3']), carr_number_format_articoli($art['prezzo'] * $art['quantita']), carr_number_format_articoli($art['prezzo2'] * $art['quantita']), carr_number_format_articoli($art['prezzo3'] * $art['quantita']), $art['link'], $art['immagine'], $func($art['immagine'], true), $func($art['immagine']), $func($art['immagine2']), $art['quantita'], carr_remLink($i), carr_addLink($i), carr_minusLink($i)); $numeroprodotti += $art['quantita']; $return .= str_replace($cerca, $sostituisci, $item); //$totale += ($art['prezzo'] * $art['quantita']); //cecca modificata perchè poteva non venire uguale il totale rifacendo la somma delle righe per via dei decimali approssimati $totale += (carr_get_double(carr_number_format_articoli($art['prezzo'])) * $art['quantita']); } if($DATI['carr_spedizione'] == "SI"){ $totale += $DATI['carr_spedizioni'][$CARRELLO["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 per l'header $return = str_replace( array("#NUMEROPRODOTTI#", "#TOTALE#", "#CARRELLOLINK#"), array($numeroprodotti . ($numeroprodotti == 1 ? " {carr_prodotto_singolo}" : " {carr_prodotto_plurale}"), number_format($totale, 2, ",", "."), genera_link($CONFIGURAZIONE['carr_pagina'])), $CONFIGURAZIONE['carr_tpl_'.$tipo.'_head'] ).$return; //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']); if($tipo == "form") return $return; else return $return; } function carr_get_importo(){//restituisce l'importo senza formattazione global $DATI, $CARRELLO; @reset($CARRELLO["prodotti"]); $totale = 0; while(!empty($CARRELLO["prodotti"]) && list($i, $art) = each($CARRELLO["prodotti"])){ //$totale += ($art['prezzo'] * $art['quantita']); //cecca modificata perchè poteva non venire uguale il totale rifacendo la somma delle righe per via dei decimali approssimati $totale += (carr_get_double(carr_number_format_articoli($art['prezzo'])) * $art['quantita']); } if($DATI['carr_spedizione'] == "SI"){ $totale += $DATI['carr_spedizioni'][$CARRELLO["spedizione"]][1]; } return $totale; } function carr_spedizione_template($tipo){ global $DATI, $CARRELLO; 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'][$CARRELLO["spedizione"]][1]; $nosp = $DATI['carr_spedizioni'][$CARRELLO["spedizione"]][0]; $return = number_format($spsp, 2, ',', '')." EU\t$nosp \n"; } else{ $spsp = $DATI['carr_spedizioni'][$CARRELLO["spedizione"]][1]; $nosp = $DATI['carr_spedizioni'][$CARRELLO["spedizione"]][0]; $template = $DATI["carr_tpl_".$tipo."_spedizione"] ? $DATI["carr_tpl_".$tipo."_spedizione"] : $DATI["carr_tpl_".$tipo."_item"]; $return = str_replace(array("#NOME#", "#QUANTITA#", "#PREZZOUNIT#"), array("{spedizione_txt}: ".$nosp, 1, $spsp), $template); } return $return; } else return ""; } function carr_tipo_cliente_template($tipo){//clonato funzionamento della spedizione per fare veloce global $DATI, $CARRELLO; $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 ""; } function carr_ricalcola_prezzi(){ //cecca ripasso gli articoli presenti nel carrello per farmi ridare il prezzo, nel caso di checkout potrebbe cambiare il prezzo quando l'utente effettua il login ma ha già il carrello global $CARRELLO, $DATI; $totale_pre = carr_get_importo(); foreach($CARRELLO["prodotti"] as $i=>&$p) { //passando il $p con la è commerciale davanti viene passato come riferimento invece di copiare e si puo' lavorare direttamente sulla var $p senza ricopiare dentro l'array $nuovo_item = $DATI['carr_getItem']($p["id"], $p["quantita"]); $p["prezzo"] = $nuovo_item["prezzo"]; } $totale_dopo = carr_get_importo(); if ($totale_dopo != $totale_pre) { //dire all'utente che sono cambiati i prezzi //echo "sono cambiati i prezzi!!!!
"; return true; } return false; } ?>