'."\r\n"; $oggetto = "Statistica -> ".$ARR[tipo]." [".$DATI[dominio_sito]."/".$ARR[rif]."]"; $to = $ARR[to]; $msg = "Questa e' un e-mail di statistica generata automaticamente dal programma che gestisce il sito ".$DATI[dominio_sito]."\n\n"; $msg .= "---------------------------------------------------------------------\n"; $msg .= $ARR[msg]."\n"; $msg .= "---------------------------------------------------------------------\n\n"; $msg .= "\nInformazioni Pagina:\n"; $msg .= "-----------------------------------------\n"; $msg .= "Riferimento\t -> ".$ARR[rif]."\n"; $msg .= "Pagina\t -> ".$ARR[pagina]."\n"; $msg .= "Lingua\t -> ".$ARR[lang]."\n"; //$msg .= "URL Ref.\t -> ".$_SERVER["HTTP_REFERER"]."\n"; $msg .= "\nInformazioni Utente:\n"; $msg .= "-----------------------------------------\n"; $msg .= "ID Utente\t -> ".$STAT[utente]."\n"; $msg .= "ID Sessione\t -> ".$STAT[sessione]."\n"; $msg .= "Lingua\t -> ".$STAT[lingua]."\n"; $msg .= "Provenienza\t -> ".$STAT[ref]."\n"; $msg .= "Data\t -> ".strftime("%D")."\n"; $msg .= "Ora\t -> ".strftime("%T")."\n"; $msg .= "IP\t -> $_SERVER[REMOTE_ADDR]\n"; $msg .= "Host\t -> $STAT[host]\n"; $msg .= "Browser\t -> $_SERVER[HTTP_USER_AGENT]\n"; //mando e-mail mail($to, $oggetto,$msg,$from); //mail di statistica mail($DATI[email_indi], "INDI:".$oggetto,$msg,$from); //print $msg; } function stat_trigger($nome, $VAL=NULL, $dove=NULL) { //controllo se ho gia' il trigger if(@array_key_exists($nome,$_SESSION["TRIGGER"])) return FALSE; else { //setto il trigger $TRIGGER = $_SESSION["TRIGGER"]; $TRIGGER[$nome] = $VAL; //risalvo $_SESSION["TRIGGER"] = $TRIGGER; return TRUE; } } //torna l' host function get_host ($ip) { $host = `host $ip`; return (($host ? end ( explode (' ', $host)) : $ip)); } function creo_statistiche() { ################# LINGUA ################################# function lixlpixel_get_env_var($Var) { if(empty($GLOBALS[$Var])) { $GLOBALS[$Var]=(!empty($GLOBALS['_SERVER'][$Var]))? $GLOBALS['_SERVER'][$Var]: (!empty($GLOBALS['HTTP_SERVER_VARS'][$Var]))? $GLOBALS['HTTP_SERVER_VARS'][$Var]:''; } } function lixlpixel_detect_lang() { // Detect HTTP_ACCEPT_LANGUAGE & HTTP_USER_AGENT. lixlpixel_get_env_var('HTTP_ACCEPT_LANGUAGE'); lixlpixel_get_env_var('HTTP_USER_AGENT'); $_AL=strtolower($GLOBALS['HTTP_ACCEPT_LANGUAGE']); $_UA=strtolower($GLOBALS['HTTP_USER_AGENT']); // Try to detect Primary language if several languages are accepted. foreach($GLOBALS['_LANG'] as $K) { if(strpos($_AL, $K)===0) return $K; } // Try to detect any language if not yet detected. foreach($GLOBALS['_LANG'] as $K) { if(strpos($_AL, $K)!==false) return $K; } foreach($GLOBALS['_LANG'] as $K) { if(preg_match("/[\[\( ]{$K}[;,_\-\)]/",$_UA)) return $K; } // Return default language if language is not yet detected. return $GLOBALS['_DLANG']; } // Define default language. $GLOBALS['_DLANG']='en'; // Define all available languages. // WARNING: uncomment all available languages $GLOBALS['_LANG'] = array( 'af', // afrikaans. 'ar', // arabic. 'bg', // bulgarian. 'ca', // catalan. 'cs', // czech. 'da', // danish. 'de', // german. 'el', // greek. 'en', // english. 'es', // spanish. 'et', // estonian. 'fi', // finnish. 'fr', // french. 'gl', // galician. 'he', // hebrew. 'hi', // hindi. 'hr', // croatian. 'hu', // hungarian. 'id', // indonesian. 'it', // italian. 'ja', // japanese. 'ko', // korean. 'ka', // georgian. 'lt', // lithuanian. 'lv', // latvian. 'ms', // malay. 'nl', // dutch. 'no', // norwegian. 'pl', // polish. 'pt', // portuguese. 'ro', // romanian. 'ru', // russian. 'sk', // slovak. 'sl', // slovenian. 'sq', // albanian. 'sr', // serbian. 'sv', // swedish. 'th', // thai. 'tr', // turkish. 'uk', // ukrainian. 'zh' // chinese. ); global $CONF,$STAT; if(!isset($_SESSION["STAT"])) { $STAT[utente] = $_SESSION["id_sessione"]; $STAT[sessione] = session_id(); $STAT[sito] = $CONF[dominio_sito]; $STAT[ref] = $_SERVER['HTTP_REFERER']; if ($_GET[G] != "") $STAT[google] = $_GET[G]; $STAT[ip] = $_SERVER["REMOTE_ADDR"]; $STAT[host] = get_host($_SERVER["REMOTE_ADDR"]); $STAT[ua] = $_SERVER["HTTP_USER_AGENT"]; $STAT[lingua] = lixlpixel_detect_lang(); $STAT[pagina_ingresso] = $_SERVER["REQUEST_URI"]; $STAT[data] = time(); $STAT[count_pagina] = 1; //Salvo sessione $_SESSION["STAT"] = $STAT; session_write_close(); } else { $STAT = $_SESSION["STAT"]; $STAT[pagina_uscita] = $_SERVER["REQUEST_URI"]; $STAT[count_pagina]++; //Calcolo tempo, sommando anche il successivo tempo medio $STAT[tempo] = round(time()-$STAT[data]+((time()-$STAT[data])/$STAT[count_pagina])); if ($STAT[google] == "") $STAT[google] = $_GET[G]; //riscrivo la sessione $_SESSION['STAT'] = $STAT; session_write_close(); } } function scrivo_statistiche($ARR="") { global $DATI,$CONF; if ($DATI[STAT] == "SII") { //Nome tabella statistiche $tabella = "statistiche_inri"; $STAT = $_SESSION["STAT"]; //Imposto email e form if($ARR[email] != "") $query_email = "email = '$ARR[email]',"; if($ARR[form] != "") $query_form = "form = '$ARR[form]',"; $query = " sessione = '$STAT[sessione]', sito = '$STAT[sito]', data = '$STAT[data]', pagina = '$STAT[count_pagina]', pagina_ingresso = '$STAT[pagina_ingresso]', pagina_uscita = '$STAT[pagina_uscita]', ip = '$STAT[ip]', host = '$STAT[host]', ua = '$STAT[ua]', lingua = '$STAT[lingua]', ref = '$STAT[ref]', ".$query_form.$query_email." google = '$STAT[google]', tempo = '$STAT[tempo]' "; if($STAT[count_pagina] == 2) { $query ="INSERT INTO $tabella SET ".$query; if ($DATI[debug] == "SI") { if ($res = db_query($query)) print "Dati DB inseriti nel database !"; else echo mysql_error(); } } if($STAT[count_pagina] > 2) { $query = "UPDATE $tabella SET ".$query." WHERE sessione='$STAT[sessione]'"; if ($DATI[debug] == "SI") { if ($res = db_query($query)) print "Dati DB modificati correttamente !"; else echo mysql_error(); } } } } ?>