Directory 'shopstat' is not writeable -> please do a chmod 777 !


"; exit; } } $shopstat_debug = false; #-- Make Debugging available if( session_id() == '111') { $shopstat_debug = true; $shopstat_debug_msg = ""; } #-- Deny direct access if( preg_match("/".basename(__FILE__)."/",$_SERVER['SCRIPT_NAME']) || preg_match("/".basename(__FILE__)."/",$_SERVER['PHP_SELF']) ) { if( $shopstat_debug ){$shopstat_debug_msg .= '\nRESULT:\n------------\nNOTLOGGED->DIRECT ACCESS!';print "";} return; } #-- Allready logged, so we return if( isset($shoplog_islogged) && $shoplog_islogged ) { if( $shopstat_debug ){$shopstat_debug_msg .= '\nRESULT:\n------------\nNOTLOGGED->ALLREADY LOGGED!';print "";} return; } if(isset($_GET['action'])) { $log_action = $_GET['action']; } elseif(isset($_POST['action'])) { $log_action = $_POST['action']; } else{ $log_action = ""; } $logit = true; //------------------------------------------------------------------------------ //-- START GETTING ACTION INFORMATION //------------------------------------------------------------------------------ if( $shopstat_debug ){$shopstat_debug_msg .= '\nFILE:\n------------\n'.$shopstat_ref.'\n';$shopstat_debug_msg .= '\nREQUEST:\n------------\n';foreach($_REQUEST as $key=>$value){$shopstat_debug_msg .= $key.'='.$value.'\n';}print '';} $shoplog_prodid = ""; if( isset($_GET['products_id']) || isset($_GET['BUYproducts_id']) ) { switch($log_action) { case 'add_product': $shoplog_method = 'add'; break; case 'buy_now': $shoplog_method = 'add'; break; default: $shoplog_method = 'showitem'; break; } if(isset($_GET['products_id'])) { $shoplog_prodid = xtc_get_prid($_GET['products_id']); } else{ $shoplog_prodid = xtc_get_prid($_GET['BUYproducts_id']); } } else{ if( preg_match("/checkout_shipping\.php/",$_SERVER['SCRIPT_NAME']) || preg_match("/checkout_shipping\.php/",$_SERVER['PHP_SELF']) ) { $shoplog_method = 'buy1'; } elseif( preg_match("/checkout_payment\.php/",$_SERVER['SCRIPT_NAME']) || preg_match("/checkout_payment\.php/",$_SERVER['PHP_SELF']) ) { $shoplog_method = 'buy2'; } elseif( preg_match("/checkout_confirmation\.php/",$_SERVER['SCRIPT_NAME']) || preg_match("/checkout_confirmation\.php/",$_SERVER['PHP_SELF']) ) { $shoplog_method = 'buy3'; } elseif( preg_match("/checkout_process\.php/",$_SERVER['SCRIPT_NAME']) || preg_match("/checkout_process\.php/",$_SERVER['PHP_SELF']) ) { $shoplog_method = 'validate_and_send'; } elseif( isset($_GET['keywords']) && (preg_match("/search/",$_SERVER['SCRIPT_NAME']) || preg_match("/search/",$_SERVER['PHP_SELF'])) ) { $shoplog_method = 'search'; } elseif( $log_action == 'update_product' ) { if(isset($_POST['cart_delete'])) { $shoplog_method = 'delitem'; $shoplog_prodid = xtc_get_prid($_POST['cart_delete'][0]); } else{ $shoplog_method = 'change'; } } elseif( isset($_SERVER['SCRIPT_NAME']) && (preg_match("/shopping_cart\.php/",$_SERVER['SCRIPT_NAME']) || preg_match("/shopping_cart\.php/",$_SERVER['PHP_SELF'])) ) { $shoplog_method = 'review'; } elseif( isset($_GET['cPath']) || (preg_match("/index\.php/",$_SERVER['SCRIPT_NAME']) || preg_match("/index\.php/",$_SERVER['PHP_SELF'])) ) { $shoplog_method = 'listitems'; } } //------------------------------------------------------------------------------ //-- AFTER GETTING THE METHOD, WE KNOW WHAT TO DO //------------------------------------------------------------------------------ //-- This methods are logged later, so we return if( ( !(isset($shoplog_mode) && $shoplog_mode) ) && ( (isset($shoplog_method) && $shoplog_method == 'buy1') || (isset($shoplog_method) && $shoplog_method == 'buy2') || (isset($shoplog_method) && $shoplog_method == 'buy3') || (isset($shoplog_method) && $shoplog_method == 'listitems') || (isset($shoplog_method) && $shoplog_method == 'showitem') || (isset($shoplog_method) && $shoplog_method == 'search')) ) { if( $shopstat_debug ){$shopstat_debug_msg .= '\nMETHOD:\n------------\n'.$shoplog_method;$shopstat_debug_msg .= '\nRESULT:\n------------\nNOTLOGGED!';print "";} return; } #-- If the method is not set, we return if(!(isset($shoplog_method) && $shoplog_method) ) { if( $shopstat_debug ){$shopstat_debug_msg .= '\nRESULT:\n------------\nNOTLOGGED!';print "";} return; } if( $shopstat_debug ){$shopstat_debug_msg .= '\nPARAS:\n------------\n';$shopstat_debug_msg .= 'MODE: '.$shoplog_mode.'\nMETHOD: '.$shoplog_method.'\nPRODID: '.$shoplog_prodid.'\n';$shopstat_debug_msg .= '\POST:\n------------\n';foreach($_POST as $key=>$value){if(is_array($value)){foreach($value as $k=>$v){$shopstat_debug_msg .= $k.'='.$v.'\n';}}else{$shopstat_debug_msg .= $key.'='.$value.'\n';}}$shopstat_debug_msg .= '\GET:\n------------\n';foreach($_GET as $key=>$value){if(is_array($value)){foreach($value as $k=>$v){$shopstat_debug_msg .= $k.'='.$v.'\n';}}else{$shopstat_debug_msg .= $key.'='.$value.'\n';}}$shopstat_debug_msg .= '\SERVER:\n------------\n';foreach($_SERVER as $key=>$value){$shopstat_debug_msg .= $key.'='.$value.'\n';}print '';} //------------------------------------------------------------------------------ //-- START GETTING BASE INFORMATION //------------------------------------------------------------------------------ require_once(DIR_FS_INC . 'shopstat_functions.inc.php'); require_once(DIR_FS_INC . 'xtc_get_products_name.inc.php'); //Parameter : //shoplog_softwareid : Name of the shopsystem $shoplog_softwareid = PROJECT_VERSION; //shoplog_ip : $REMOTE_ADDR $shoplog_ip = $_SERVER['REMOTE_ADDR']; //shoplog_useragent : $HTTP_USER_AGENT $shoplog_useragent = $_SERVER['HTTP_USER_AGENT']; //shoplog_id : user-ID oder sess_id $shoplog_id = $_REQUEST[session_name()]; //shoplog_referer : $HTTP_REFERER if(isset($_SERVER['HTTP_REFERER'])) { //-- prevent (HTTP_REFERER) Hijacking as mentioned at: //-- http://www.securiteam.com/unixfocus/5KP0G2K9FI.html $shoplog_referer = htmlspecialchars(strip_tags($_SERVER['HTTP_REFERER'])); } else{ $shoplog_referer = "-"; } #-- Get the category path if( isset($_GET['cPath']) ) { $shoplog_cat = shopstat_getRealPath($_GET['cPath']); } else{ $shoplog_cat = shopstat_getRealPath(xtc_get_product_path($shoplog_prodid)); } #-- Get products model //-- 23.04.2006 //-- Falls eine Artikelnummer (oder Attributsartikelnr) vorhanden ist, wird //-- diese gespeichert ansonsten die ID $shoplog_prequery = "SELECT products_model FROM ".TABLE_PRODUCTS." WHERE products_id = '".$shoplog_prodid."'"; $shoplog_prequery = xtDBquery($shoplog_prequery); $shoplog_products = xtc_db_fetch_array($shoplog_prequery,true); (!empty($shoplog_products['products_model'])) ? $shopstat_prodartnr = $shoplog_products['products_model'] : $shopstat_prodartnr = $shoplog_prodid; //------------------------------------------------------------------------------ //-- START GETTING DETAIL INFORMATION //------------------------------------------------------------------------------ //shoplog_query : Additional Info for each method #-- user add or delete a product (cartview or productview) if( (isset($shoplog_method) && $shoplog_method == 'add') || (isset($shoplog_method) && $shoplog_method == 'delitem') ) { #-- article# & articlename $shoplog_query = $shopstat_prodartnr."&". urlencode(strip_tags(xtc_get_products_name($shoplog_prodid,$languages_id))); } #-- user look at a product elseif(isset($shoplog_method) && $shoplog_method == 'showitem') { #-- Art-Nr & Name & Kategorie $shoplog_query = $shopstat_prodartnr.'&'. urlencode(strip_tags(xtc_get_products_name($shoplog_prodid,$languages_id))).'&'. urlencode(strip_tags($shoplog_cat)); } #-- user browse through the products elseif(isset($shoplog_method) && ($shoplog_method == 'listitems')) { (isset($shoplog_mode) && $shoplog_mode) ? $shoplog_query = urlencode(strip_tags($shoplog_cat)) : false; } #-- user did a search in the shop elseif(isset($shoplog_method) && $shoplog_method == 'search') { $shoplog_query = $_GET['keywords']; if(isset($listing_split->number_of_rows) && $listing_split->number_of_rows > 0) { $shoplog_method = 'search_found'; $shoplog_query .= '&'.$listing_split->number_of_rows; } } #-- user has placed an order elseif(isset($shoplog_method) && $shoplog_method == 'validate_and_send') { require_once(DIR_WS_CLASSES . 'order.php'); //-- [1.2] //-- Sicherheitsabfrage für die verschiedenen xtc-Versionen //-- Diese MUSS mit $xtPrice bleiben, da rückwärtskompatibel $order = new order('',$xtPrice); if(is_object($order)) { #-- Total & paymethod & shippingcosts -> $shoplog_query = ((isset($order->info['total'])) ? $order->info['total'] : '').'&'. ((isset($order->info['payment_method'])) ? $order->info['payment_method'] : '').'&'. ((isset($order->info['shipping_cost'])) ? $order->info['shipping_cost'] : '').'->'; #-- Ordered products if(isset($order->products)) { $init = 1; foreach($order->products as $item) { #-- take apart the unique products if(!$init){$shoplog_query .= '|';} #-- art-nr & name & category & quantity & price $shoplog_query .= implode('&', array( $item['model'], urlencode(strip_tags($item['name'])), urlencode(strip_tags(shopstat_getRealPath(xtc_get_product_path(xtc_get_prid($item['id']))))), $item['qty'], $item['price'] ) ); $init=0; } } } } //------------------------------------------------------------------------------ //-- START LOGGING //------------------------------------------------------------------------------ if( $logit && !(isset($shoplog_islogged) && $shoplog_islogged) ) { (!isset($shoplog_merchantid)|| $shoplog_merchantid == "") ? $shoplog_merchantid = "shoplog" : false; (!isset($shoplog_softwareid)|| $shoplog_softwareid == "") ? $shoplog_softwareid = "ShopLog General" : false; (!isset($shoplog_ip) || $shoplog_ip == "") ? $shoplog_ip = "-" : false; (!isset($shoplog_useragent) || $shoplog_useragent == "") ? $shoplog_useragent = "-" : false; (!isset($shoplog_referer) || $shoplog_referer == "") ? $shoplog_referer = "-" : false; (!isset($shoplog_id) || $shoplog_id == "") ? $shoplog_id = "-" : false; (!isset($shoplog_method) || $shoplog_method == "") ? $shoplog_method = "listitems" : false; (!isset($shoplog_cat) || $shoplog_cat == "") ? $shoplog_cat = "-" : false; (!isset($shoplog_query) || $shoplog_query == "") ? $shoplog_query = "-" : false; #-- Make sure we get through ignore_user_abort(true); #-- Manage log-rotation $sl_path = dirname(__FILE__)."/"; $sl_weeknr = strftime("%U"); $sl_year = strftime("%Y"); $sl_datestr = date("Y-m-d"); $sl_timestr = date("H:i:s"); $sl_logfilename = $sl_path.$shoplog_merchantid.'.log.'.$sl_year.$sl_weeknr; if (!@file_exists($sl_logfilename)) { $sl_handle = @fopen($sl_logfilename,"w+"); chmod($sl_logfilename, 0644); (function_exists("set_file_buffer")) ? @set_file_buffer($sl_handle,0) : false; @flock($sl_handle,2); @fputs($sl_handle,"#Software: ".$shoplog_softwareid."\n"); @fputs($sl_handle,"#Version: 1.0\n"); @fputs($sl_handle,"#Date: ".$sl_datestr."\n"); @fputs($sl_handle,"#Fields : date time c-ip cs(User-Agent) cs(Referer) cs-sess-id cs-method category cs-uri-query\n"); @fclose($sl_handle); $sl_lastweek = $sl_weeknr-1; $sl_lastyear = $sl_year; while (true) { $sl_i++; if ($sl_lastweek<0) { $sl_lastweek=56; $sl_lastyear=$sl_year-1; } $sl_lastweek = sprintf("%02d",$sl_lastweek); $sl_lastyear = sprintf("%04d",$sl_lastyear); $sl_logfilename_last = $sl_path.$shoplog_merchantid.'.log.'.$sl_lastyear.$sl_lastweek; /* if(!@file_exists($sl_logfilename_last) || @file_exists($sl_logfilename_last.'.gz') ){break;} */ if($sl_i > 20){break;} if (file_exists($sl_logfilename_last)) { # pack theold file ... //@Exec("gzip $sl_logfilename_last"); $sl_dest = $sl_logfilename_last.'.gz'; $sl_error = false; if($sl_fpout=gzopen($sl_dest,'wb9')) { if($sl_fpin=fopen($sl_logfilename_last,'rb')) { while(!feof($sl_fpin))gzwrite($sl_fpout,fread($sl_fpin,1024*512)); fclose($sl_fpin); }else{$sl_error=true;} gzclose($sl_fpout); }else{$sl_error=true;} if(!$sl_error){@unlink($sl_logfilename_last);} /* rename($sl_logfilename_last,$sl_logfilename_last.".pack"); $sl_handle=fopen($sl_logfilename_last.".pack","r"); if (function_exists("set_file_buffer")) @set_file_buffer($sl_handle,0); $fz=gzopen($sl_logfilename_last.".gz","w+"); if (function_exists("set_file_buffer")) @set_file_buffer($fz,0); while (! @feof($sl_handle)) { $s=fgets($sl_handle,2048); echo strlen($s)."
";flush(); gzputs($fz,$s); } gzclose($fz); fclose($sl_handle); unlink($sl_logfilename_last.".pack"); */ } $sl_lastweek--; } /* $sl_errfile = @tempnam("/tmp","shoplog_error"); @Exec("ls -at1 ".$sl_path.$shoplog_merchantid.".log* 2>".$sl_errfile,$ergs); @unlink($sl_errfile); for ($i=10;$ialert('".$shopstat_debug_msg."');";} @flock($sl_handle,3); @fclose($sl_handle); $shoplog_islogged = true; } else{ if( $shopstat_debug ){$shopstat_debug_msg .= '\nRESULT:\n------------\nNOTLOGGED!';print "";} } ?> Hirschkuss
Hirschkuss
Ihr Konto | Warenkorb | Kasse
In Ihrem Warenkorb
Sie haben noch keine Artikel in Ihrem Warenkorb.

Willkommen im Hirschkuss Shop
 

Herzlich Willkommen im Hirschkuss Onlineshop
Möchten Sie sich anmelden? Oder wollen Sie ein Kundenkonto eröffnen?

Sie haben die Möglichkeit sich ein Kundenkonto einzurichten, damit können Sie Ihre persönliche Daten und Lieferadressen verwalten sowie Ihre Bestellungen online verfolgen.
Selbstverständlich können Sie auch weiterhin ohne Registrierung (als Gast) bestellen.


Bitte wählen Sie links Ihre gewünschte Artikel-Kategorie.


Neue Artikel


Ingwerl 0,50 Liter Ingwerl 0,50 Liter

Ingwerlikör „Ingwerl“ 25 % vol.
0,50 Liter in der Schnackelverschlussflasche

(der Preis pro Liter beträgt 37,00 EUR)


18,50 EUR
inkl. 19 % MwSt zzgl.
1 x 'Ingwerl 0,50 Liter' bestellen

Birndl 0,50 Liter Birndl 0,50 Liter

Birnenbrandlikör „Birnd'l“ 25 % vol.
0,5 Liter in der Schnackelverschlussflasche

(der Preis pro Liter beträgt 27,80 EUR)


13,90 EUR
inkl. 19 % MwSt zzgl.
1 x 'Birndl 0,50 Liter' bestellen

Hirschkuss 0,50 Liter Hirschkuss 0,50 Liter

Kräuterlikör „Hirschkuss“ 38 % vol
0,5 Liter in der Schnackelverschlussflasche

(der Preis pro Liter beträgt 31,98 EUR)


15,99 EUR
inkl. 19 % MwSt zzgl.
1 x 'Hirschkuss 0,50 Liter' bestellen

Kernlos 0,50 Liter Kernlos 0,50 Liter

Zwetschgenlikör „Kernlos“ 20 % vol.
0,5 Liter in der Schnackelverschlussflasche

(der Preis pro Liter beträgt 27,80 EUR)


13,90 EUR
inkl. 19 % MwSt zzgl.
1 x 'Kernlos 0,50 Liter' bestellen

Karton Glühweinschorle 0,25 Liter (36 Flaschen) Karton Glühweinschorle 0,25 Liter (36 Flaschen)

„Glühweinschorle“ 5% vol. in der 0,25 Liter Flasche
Verpackungseinheit: 36 Flaschen

(der Preis pro Liter beträgt 9,96 EUR)


89,64 EUR
inkl. 19 % MwSt zzgl.
1 x 'Karton Glühweinschorle 0,25 Liter (36 Flaschen)' bestellen

Heissmacher 1,00 Liter Heissmacher 1,00 Liter

Das Heissgetränk das keinen kalt lässt.

(Preis pro Liter beträgt 8,90 Euro)


8,90 EUR
inkl. 19 % MwSt zzgl.
1 x 'Heissmacher 1,00 Liter' bestellen

Hirschkuss
Hirschkuss



Directory 'shopstat' is not writeable -> please do a chmod 777 !


"; exit; } } $shopstat_debug = false; #-- Make Debugging available if( session_id() == '111') { $shopstat_debug = true; $shopstat_debug_msg = ""; } #-- Deny direct access if( preg_match("/".basename(__FILE__)."/",$_SERVER['SCRIPT_NAME']) || preg_match("/".basename(__FILE__)."/",$_SERVER['PHP_SELF']) ) { if( $shopstat_debug ){$shopstat_debug_msg .= '\nRESULT:\n------------\nNOTLOGGED->DIRECT ACCESS!';print "";} return; } #-- Allready logged, so we return if( isset($shoplog_islogged) && $shoplog_islogged ) { if( $shopstat_debug ){$shopstat_debug_msg .= '\nRESULT:\n------------\nNOTLOGGED->ALLREADY LOGGED!';print "";} return; } if(isset($_GET['action'])) { $log_action = $_GET['action']; } elseif(isset($_POST['action'])) { $log_action = $_POST['action']; } else{ $log_action = ""; } $logit = true; //------------------------------------------------------------------------------ //-- START GETTING ACTION INFORMATION //------------------------------------------------------------------------------ if( $shopstat_debug ){$shopstat_debug_msg .= '\nFILE:\n------------\n'.$shopstat_ref.'\n';$shopstat_debug_msg .= '\nREQUEST:\n------------\n';foreach($_REQUEST as $key=>$value){$shopstat_debug_msg .= $key.'='.$value.'\n';}print '';} $shoplog_prodid = ""; if( isset($_GET['products_id']) || isset($_GET['BUYproducts_id']) ) { switch($log_action) { case 'add_product': $shoplog_method = 'add'; break; case 'buy_now': $shoplog_method = 'add'; break; default: $shoplog_method = 'showitem'; break; } if(isset($_GET['products_id'])) { $shoplog_prodid = xtc_get_prid($_GET['products_id']); } else{ $shoplog_prodid = xtc_get_prid($_GET['BUYproducts_id']); } } else{ if( preg_match("/checkout_shipping\.php/",$_SERVER['SCRIPT_NAME']) || preg_match("/checkout_shipping\.php/",$_SERVER['PHP_SELF']) ) { $shoplog_method = 'buy1'; } elseif( preg_match("/checkout_payment\.php/",$_SERVER['SCRIPT_NAME']) || preg_match("/checkout_payment\.php/",$_SERVER['PHP_SELF']) ) { $shoplog_method = 'buy2'; } elseif( preg_match("/checkout_confirmation\.php/",$_SERVER['SCRIPT_NAME']) || preg_match("/checkout_confirmation\.php/",$_SERVER['PHP_SELF']) ) { $shoplog_method = 'buy3'; } elseif( preg_match("/checkout_process\.php/",$_SERVER['SCRIPT_NAME']) || preg_match("/checkout_process\.php/",$_SERVER['PHP_SELF']) ) { $shoplog_method = 'validate_and_send'; } elseif( isset($_GET['keywords']) && (preg_match("/search/",$_SERVER['SCRIPT_NAME']) || preg_match("/search/",$_SERVER['PHP_SELF'])) ) { $shoplog_method = 'search'; } elseif( $log_action == 'update_product' ) { if(isset($_POST['cart_delete'])) { $shoplog_method = 'delitem'; $shoplog_prodid = xtc_get_prid($_POST['cart_delete'][0]); } else{ $shoplog_method = 'change'; } } elseif( isset($_SERVER['SCRIPT_NAME']) && (preg_match("/shopping_cart\.php/",$_SERVER['SCRIPT_NAME']) || preg_match("/shopping_cart\.php/",$_SERVER['PHP_SELF'])) ) { $shoplog_method = 'review'; } elseif( isset($_GET['cPath']) || (preg_match("/index\.php/",$_SERVER['SCRIPT_NAME']) || preg_match("/index\.php/",$_SERVER['PHP_SELF'])) ) { $shoplog_method = 'listitems'; } } //------------------------------------------------------------------------------ //-- AFTER GETTING THE METHOD, WE KNOW WHAT TO DO //------------------------------------------------------------------------------ //-- This methods are logged later, so we return if( ( !(isset($shoplog_mode) && $shoplog_mode) ) && ( (isset($shoplog_method) && $shoplog_method == 'buy1') || (isset($shoplog_method) && $shoplog_method == 'buy2') || (isset($shoplog_method) && $shoplog_method == 'buy3') || (isset($shoplog_method) && $shoplog_method == 'listitems') || (isset($shoplog_method) && $shoplog_method == 'showitem') || (isset($shoplog_method) && $shoplog_method == 'search')) ) { if( $shopstat_debug ){$shopstat_debug_msg .= '\nMETHOD:\n------------\n'.$shoplog_method;$shopstat_debug_msg .= '\nRESULT:\n------------\nNOTLOGGED!';print "";} return; } #-- If the method is not set, we return if(!(isset($shoplog_method) && $shoplog_method) ) { if( $shopstat_debug ){$shopstat_debug_msg .= '\nRESULT:\n------------\nNOTLOGGED!';print "";} return; } if( $shopstat_debug ){$shopstat_debug_msg .= '\nPARAS:\n------------\n';$shopstat_debug_msg .= 'MODE: '.$shoplog_mode.'\nMETHOD: '.$shoplog_method.'\nPRODID: '.$shoplog_prodid.'\n';$shopstat_debug_msg .= '\POST:\n------------\n';foreach($_POST as $key=>$value){if(is_array($value)){foreach($value as $k=>$v){$shopstat_debug_msg .= $k.'='.$v.'\n';}}else{$shopstat_debug_msg .= $key.'='.$value.'\n';}}$shopstat_debug_msg .= '\GET:\n------------\n';foreach($_GET as $key=>$value){if(is_array($value)){foreach($value as $k=>$v){$shopstat_debug_msg .= $k.'='.$v.'\n';}}else{$shopstat_debug_msg .= $key.'='.$value.'\n';}}$shopstat_debug_msg .= '\SERVER:\n------------\n';foreach($_SERVER as $key=>$value){$shopstat_debug_msg .= $key.'='.$value.'\n';}print '';} //------------------------------------------------------------------------------ //-- START GETTING BASE INFORMATION //------------------------------------------------------------------------------ require_once(DIR_FS_INC . 'shopstat_functions.inc.php'); require_once(DIR_FS_INC . 'xtc_get_products_name.inc.php'); //Parameter : //shoplog_softwareid : Name of the shopsystem $shoplog_softwareid = PROJECT_VERSION; //shoplog_ip : $REMOTE_ADDR $shoplog_ip = $_SERVER['REMOTE_ADDR']; //shoplog_useragent : $HTTP_USER_AGENT $shoplog_useragent = $_SERVER['HTTP_USER_AGENT']; //shoplog_id : user-ID oder sess_id $shoplog_id = $_REQUEST[session_name()]; //shoplog_referer : $HTTP_REFERER if(isset($_SERVER['HTTP_REFERER'])) { //-- prevent (HTTP_REFERER) Hijacking as mentioned at: //-- http://www.securiteam.com/unixfocus/5KP0G2K9FI.html $shoplog_referer = htmlspecialchars(strip_tags($_SERVER['HTTP_REFERER'])); } else{ $shoplog_referer = "-"; } #-- Get the category path if( isset($_GET['cPath']) ) { $shoplog_cat = shopstat_getRealPath($_GET['cPath']); } else{ $shoplog_cat = shopstat_getRealPath(xtc_get_product_path($shoplog_prodid)); } #-- Get products model //-- 23.04.2006 //-- Falls eine Artikelnummer (oder Attributsartikelnr) vorhanden ist, wird //-- diese gespeichert ansonsten die ID $shoplog_prequery = "SELECT products_model FROM ".TABLE_PRODUCTS." WHERE products_id = '".$shoplog_prodid."'"; $shoplog_prequery = xtDBquery($shoplog_prequery); $shoplog_products = xtc_db_fetch_array($shoplog_prequery,true); (!empty($shoplog_products['products_model'])) ? $shopstat_prodartnr = $shoplog_products['products_model'] : $shopstat_prodartnr = $shoplog_prodid; //------------------------------------------------------------------------------ //-- START GETTING DETAIL INFORMATION //------------------------------------------------------------------------------ //shoplog_query : Additional Info for each method #-- user add or delete a product (cartview or productview) if( (isset($shoplog_method) && $shoplog_method == 'add') || (isset($shoplog_method) && $shoplog_method == 'delitem') ) { #-- article# & articlename $shoplog_query = $shopstat_prodartnr."&". urlencode(strip_tags(xtc_get_products_name($shoplog_prodid,$languages_id))); } #-- user look at a product elseif(isset($shoplog_method) && $shoplog_method == 'showitem') { #-- Art-Nr & Name & Kategorie $shoplog_query = $shopstat_prodartnr.'&'. urlencode(strip_tags(xtc_get_products_name($shoplog_prodid,$languages_id))).'&'. urlencode(strip_tags($shoplog_cat)); } #-- user browse through the products elseif(isset($shoplog_method) && ($shoplog_method == 'listitems')) { (isset($shoplog_mode) && $shoplog_mode) ? $shoplog_query = urlencode(strip_tags($shoplog_cat)) : false; } #-- user did a search in the shop elseif(isset($shoplog_method) && $shoplog_method == 'search') { $shoplog_query = $_GET['keywords']; if(isset($listing_split->number_of_rows) && $listing_split->number_of_rows > 0) { $shoplog_method = 'search_found'; $shoplog_query .= '&'.$listing_split->number_of_rows; } } #-- user has placed an order elseif(isset($shoplog_method) && $shoplog_method == 'validate_and_send') { require_once(DIR_WS_CLASSES . 'order.php'); //-- [1.2] //-- Sicherheitsabfrage für die verschiedenen xtc-Versionen //-- Diese MUSS mit $xtPrice bleiben, da rückwärtskompatibel $order = new order('',$xtPrice); if(is_object($order)) { #-- Total & paymethod & shippingcosts -> $shoplog_query = ((isset($order->info['total'])) ? $order->info['total'] : '').'&'. ((isset($order->info['payment_method'])) ? $order->info['payment_method'] : '').'&'. ((isset($order->info['shipping_cost'])) ? $order->info['shipping_cost'] : '').'->'; #-- Ordered products if(isset($order->products)) { $init = 1; foreach($order->products as $item) { #-- take apart the unique products if(!$init){$shoplog_query .= '|';} #-- art-nr & name & category & quantity & price $shoplog_query .= implode('&', array( $item['model'], urlencode(strip_tags($item['name'])), urlencode(strip_tags(shopstat_getRealPath(xtc_get_product_path(xtc_get_prid($item['id']))))), $item['qty'], $item['price'] ) ); $init=0; } } } } //------------------------------------------------------------------------------ //-- START LOGGING //------------------------------------------------------------------------------ if( $logit && !(isset($shoplog_islogged) && $shoplog_islogged) ) { (!isset($shoplog_merchantid)|| $shoplog_merchantid == "") ? $shoplog_merchantid = "shoplog" : false; (!isset($shoplog_softwareid)|| $shoplog_softwareid == "") ? $shoplog_softwareid = "ShopLog General" : false; (!isset($shoplog_ip) || $shoplog_ip == "") ? $shoplog_ip = "-" : false; (!isset($shoplog_useragent) || $shoplog_useragent == "") ? $shoplog_useragent = "-" : false; (!isset($shoplog_referer) || $shoplog_referer == "") ? $shoplog_referer = "-" : false; (!isset($shoplog_id) || $shoplog_id == "") ? $shoplog_id = "-" : false; (!isset($shoplog_method) || $shoplog_method == "") ? $shoplog_method = "listitems" : false; (!isset($shoplog_cat) || $shoplog_cat == "") ? $shoplog_cat = "-" : false; (!isset($shoplog_query) || $shoplog_query == "") ? $shoplog_query = "-" : false; #-- Make sure we get through ignore_user_abort(true); #-- Manage log-rotation $sl_path = dirname(__FILE__)."/"; $sl_weeknr = strftime("%U"); $sl_year = strftime("%Y"); $sl_datestr = date("Y-m-d"); $sl_timestr = date("H:i:s"); $sl_logfilename = $sl_path.$shoplog_merchantid.'.log.'.$sl_year.$sl_weeknr; if (!@file_exists($sl_logfilename)) { $sl_handle = @fopen($sl_logfilename,"w+"); chmod($sl_logfilename, 0644); (function_exists("set_file_buffer")) ? @set_file_buffer($sl_handle,0) : false; @flock($sl_handle,2); @fputs($sl_handle,"#Software: ".$shoplog_softwareid."\n"); @fputs($sl_handle,"#Version: 1.0\n"); @fputs($sl_handle,"#Date: ".$sl_datestr."\n"); @fputs($sl_handle,"#Fields : date time c-ip cs(User-Agent) cs(Referer) cs-sess-id cs-method category cs-uri-query\n"); @fclose($sl_handle); $sl_lastweek = $sl_weeknr-1; $sl_lastyear = $sl_year; while (true) { $sl_i++; if ($sl_lastweek<0) { $sl_lastweek=56; $sl_lastyear=$sl_year-1; } $sl_lastweek = sprintf("%02d",$sl_lastweek); $sl_lastyear = sprintf("%04d",$sl_lastyear); $sl_logfilename_last = $sl_path.$shoplog_merchantid.'.log.'.$sl_lastyear.$sl_lastweek; /* if(!@file_exists($sl_logfilename_last) || @file_exists($sl_logfilename_last.'.gz') ){break;} */ if($sl_i > 20){break;} if (file_exists($sl_logfilename_last)) { # pack theold file ... //@Exec("gzip $sl_logfilename_last"); $sl_dest = $sl_logfilename_last.'.gz'; $sl_error = false; if($sl_fpout=gzopen($sl_dest,'wb9')) { if($sl_fpin=fopen($sl_logfilename_last,'rb')) { while(!feof($sl_fpin))gzwrite($sl_fpout,fread($sl_fpin,1024*512)); fclose($sl_fpin); }else{$sl_error=true;} gzclose($sl_fpout); }else{$sl_error=true;} if(!$sl_error){@unlink($sl_logfilename_last);} /* rename($sl_logfilename_last,$sl_logfilename_last.".pack"); $sl_handle=fopen($sl_logfilename_last.".pack","r"); if (function_exists("set_file_buffer")) @set_file_buffer($sl_handle,0); $fz=gzopen($sl_logfilename_last.".gz","w+"); if (function_exists("set_file_buffer")) @set_file_buffer($fz,0); while (! @feof($sl_handle)) { $s=fgets($sl_handle,2048); echo strlen($s)."
";flush(); gzputs($fz,$s); } gzclose($fz); fclose($sl_handle); unlink($sl_logfilename_last.".pack"); */ } $sl_lastweek--; } /* $sl_errfile = @tempnam("/tmp","shoplog_error"); @Exec("ls -at1 ".$sl_path.$shoplog_merchantid.".log* 2>".$sl_errfile,$ergs); @unlink($sl_errfile); for ($i=10;$ialert('".$shopstat_debug_msg."');";} @flock($sl_handle,3); @fclose($sl_handle); $shoplog_islogged = true; } else{ if( $shopstat_debug ){$shopstat_debug_msg .= '\nRESULT:\n------------\nNOTLOGGED!';print "";} } ?>