<?php define('MAX_SHOWN_ROWS', 10000); define('USER_TRACKER_SEARCH_ENGINES', 'suche.t-online.de:q;search.live.com:q;msn:q;bing:q;google:q;altavista:q;lycos:query;yahoo:p;fireball:query;libero:query;alltheweb:q;hotbot:query;search.msn:q;suche.web.de:su;vivisimo:query;search.ninemsn:q;brisbane.t-online:q;sucheaol.aol:q;search.abacho:q;aolsearch.aol.com:q;ciao.de:SearchString'); require('includes/application_top.php'); require ('includes/geoipcity.inc'); $bundesland = array('01' => "Baden-Wurttemberg", '02' => "Bayern", '03' => "Bremen", '04' => "Hamburg", '05' => "Hessen", '06' => "Niedersachsen", '07' => "Nordrhein-Westfalen", '08' => "Rheinland-Pfalz", '09' => "Saarland", '10' => "Schleswig-Holstein", '11' => "Brandenburg", '12' => "Mecklenburg-Vorpommern", '13' => "Sachsen", '14' => "Sachsen-Anhalt", '15' => "Thuringen", '16' => "Berlin"); $geocity = geoip_open
('includes/GeoLiteCity.dat' ,GEOIP_STANDARD
); $action = (isset($_GET['action']) ?
$_GET['action'] : ''); switch ($action) { case 'purge': xtc_db_query
("DELETE FROM " . TABLE_USER_TRACKING
. " where time_last_click < '" . (time() - (72 * 3600))."'"); $messageStack->add('Einträge älter als 72 Stunden wurden gelöscht', 'information', 'success'); break; case 'delete_session': if (isset($_GET['session_id'])) { xtc_db_query
("DELETE FROM " . TABLE_USER_TRACKING
. " WHERE session_id = '" . $_GET['session_id'] . "'"); $messageStack->add(sprintf('Einträge der Session %s wurden gelöscht', session_id()), 'success'); } break; case 'delete_ip': if (isset($_GET['ip'])) { xtc_db_query
("DELETE FROM " . TABLE_USER_TRACKING
. " WHERE ip_address = '" . $_GET['ip'] . "'"); $messageStack->add(sprintf('Einträge der IP %s wurden gelöscht', $_GET['ip']), 'success'); } break; } ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html
<?php echo HTML_PARAMS
; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=
<?php echo $_SESSION['language_charset']; ?>">
<title>
<?php echo TITLE
; ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
<script type="text/javascript" src="includes/general.js"></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="SetFocus();">
<!-- header //-->
<?php require(DIR_WS_INCLUDES
. 'header.php'); ?> <!-- header_eof //-->
<!-- body //-->
<table border="0" width="100%" cellspacing="2" cellpadding="2">
<tr>
<td class="columnLeft2" width="
<?php echo BOX_WIDTH
; ?>" valign="top"><table border="0" width="
<?php echo BOX_WIDTH
; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES
. 'column_left.php'); ?><!-- left_navigation_eof //-->
</table></td><td valign="top">
<!-- body_text //-->
<?php $temp_referer_array = array(); $host_array = array(); $parse_string_array = array(); $query_array = array(); $user_tracking = array(); $shown_rows = 0; // some time routines to set the timeframe we are in $day = isset($_GET['day']) ?
$_GET['day'] : 0; // start at midnight $start_time_frame = mktime(0,0,0, date('m'), date('d'), date('Y')) - (86400 * $day); // end at end of day $end_time_frame = mktime(23,59,59, date('m'), date('d'), date('Y')) - (86400 * $day); // build the online data array $session_query = xtc_db_query
("select customer_id, full_name, ip_address, time_entry, time_last_click, last_page_url, page_desc, referer_url, session_id from " . TABLE_USER_TRACKING
. " where time_entry >= " . $start_time_frame . " and time_entry <= " . $end_time_frame . " and customer_id != '1' order by time_last_click desc limit 0," .MAX_SHOWN_ROWS
); $results = 0; $number_logged_in_users = 0; $number_spiders = 0; $number_of_clicks = xtc_db_num_rows
($session_query); while ($session = xtc_db_fetch_array
($session_query)) { $user_tracking[$session['session_id']]['session_id']=$session['session_id']; $user_tracking[$session['session_id']]['ip_address']=$session['ip_address']; $user_tracking[$session['session_id']]['customer_id']=$session['customer_id']; $user_tracking[$session['session_id']]['referer_url']=$session['referer_url']; if ($session['full_name'] != 'Guest') { $user_tracking[$session['session_id']]['full_name'] = '<font color="0000ff"><b>' . $session['full_name'] . '</b></font>'; } $user_tracking[$session['session_id']]['last_page_url'][$session['time_last_click']] = $session['last_page_url']; $user_tracking[$session['session_id']]['page_desc'][$session['time_last_click']] = $session['page_desc']; if ((!isset($user_tracking[$session['session_id']]['time_entry'])) || ($user_tracking[$session['session_id']]['time_entry'] > $session['time_entry'])) $user_tracking[$session['session_id']]['time_entry'] = $session['time_entry']; if ((!isset($user_tracking[$session['session_id']]['end_time'])) || ($user_tracking[$session['session_id']]['end_time'] < $session['time_entry'])) $user_tracking[$session['session_id']]['end_time'] = $session['time_entry']; $results++; } $customer_count = sizeof($user_tracking);?> <table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="dataTableContent" align="left" width="25%">
<?php echo '<a href="' . xtc_href_link
(FILENAME_USER_TRACKING
, 'day=' . ($day + 1) ) . '"><<< ' . date(DATE_FORMAT, $start_time_frame - 86400) . '</a> ';?></td>
<td class="dataTableContent" align="center" width="50%">
<?php echo 'Die letzten <b>'. $number_of_clicks .'</b> Klicks am <b>'. date(DATE_FORMAT, $start_time_frame) .'</b><br>Anzahl unterschiedlicher Besucher:<b>' . $customer_count . '</b>';?></td>
<td class="dataTableContent" align="right" width="25%">
<?php echo ($day > 0) ?
'<a href="' . xtc_href_link
(FILENAME_USER_TRACKING
, 'day=' . ($day - 1) ) . '">' . date(DATE_FORMAT, $start_time_frame + 86400) . ' >>></a>' : '';?></td>
</tr>
</table></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="dataTableContent" align="left" style="background-color:black;"></td>
<td class="dataTableContent" align="right" style="background-color:black;">
<?php echo '<a style="color:white;" href="' . xtc_href_link
(FILENAME_USER_TRACKING
, 'action=purge&day=' . $day) . '">Einträge die älter als 3 Tage sind löschen</a>';?></td>
</table></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" align=center><table border="0" width="100%" cellspacing="0" cellpadding="2">
<?php $cities_de_array =array(); $cities_ch_array =array(); $cities_at_array =array(); $known_search_engines = explode(';', USER_TRACKER_SEARCH_ENGINES
); foreach ($known_search_engines as $known_search_engine){ $se_array = explode(':', $known_search_engine); if ($se_array[0] != '') $engine_list[$se_array[0]] = $se_array[1]; } $listed=0; $num_sessions = 0; if ($results > 0) while ($ut = each($user_tracking)) { $num_sessions++;// extract search engine information// fill the referer URL array $temp_referer_array = parse_url($ut['value']['referer_url']); if ((isset ($temp_referer_array['host'])) && (xtc_not_null
($temp_referer_array['host']))) { $host_array[$temp_referer_array['host']]['host'] = $temp_referer_array['host']; if (!isset($host_array[$temp_referer_array['host']]['counter'])) $host_array[$temp_referer_array['host']]['counter'] = 0; $host_array[$temp_referer_array['host']]['counter'] = $host_array[$temp_referer_array['host']]['counter'] + 1; foreach ($engine_list as $name => $q) { if (stristr ( $temp_referer_array['host'], $name)) { unset($host_array[$temp_referer_array['host']]); if (isset($temp_referer_array['query'])) { $temp_referer_array['query'] = str_replace('%C3%B6', 'ö', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%C3%96', 'Ö', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%C3%BC', 'ü', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%C3%9C', 'Ü', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%C3%A4', 'ä', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%C3%84', 'Ä', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%C3%9F', 'ß', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%C3%A1', 'á', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%C3%81', 'Á', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%C3%A0', 'à', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%C3%80', 'À', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%C3%A9', 'é', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%C3%89', 'É', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%C3%A8', 'è', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%C3%88', 'È', $temp_referer_array['query']); $temp_referer_array['query'] = str_replace('%26f2%3D', '#', $temp_referer_array['query']); parse_str($temp_referer_array['query'], $parse_string_array); } if ((isset ($parse_string_array[$q])) && (!empty($parse_string_array[$q]))) { $remove_specialchars = array("+", "\"", "\\", "/"); $query_array[$name][] = str_replace($remove_specialchars," ",strtolower(($parse_string_array[$q]))); } } } } $time_online = (time() - $ut['value']['time_entry']); if ( ((!isset($_GET['info'])) || (@$HTTP_GET_VARS['info'] == $ut['value']['session_id'])) && (!isset($info)) ) { $info = $ut['value']['session_id']; } if ((!isset($ut['value']['full_name'])) || ($ut['value']['full_name'] == "")) { $ut['value']['full_name'] = "Guest"; } else { if (strtolower(substr(strip_tags($ut['value']['full_name']), 0,6)) != 'spider') { $number_logged_in_users++; $user_session_file = DIR_FS_WORK
. 'sess_' . $ut['value']['session_id']; } else { $number_spiders++; $session_spy = false; } } ?> <tr>
<td class="dataTableContent" colspan="3"><h3><a name="
<?php echo $ut['value']['session_id'];?>"></a>
<?php echo $ut['value']['full_name'] . '<br>' . $ut['value']['session_id'] . ', ' ;?></h3></td>
<td class="dataTableContent" align="right"><a href="
<?php echo xtc_href_link
(FILENAME_USER_TRACKING
, 'action=delete_session&session_id=' .urlencode($ut['value']['session_id']) . '&day=' . $day);?>"><font color=red>[delete session]</font></a>, <a href="
<?php echo xtc_href_link
(FILENAME_USER_TRACKING
, 'day=' . $day . '&viewsession=' . urlencode($ut['value']['session_id']) . '#' . $ut['value']['session_id']);?>"><font color=green>[view session]</font></a></td>
</tr>
<?php$shown_rows++ ;?> <tr>
<td class="dataTableContent" align="right" valign="top"><b>Herkunftsland:</b></td>
<?php $record = geoip_record_by_addr
($geocity,$ut['value']['ip_address']); if (strlen($record->city) > 0) switch ($record->country_code) { case 'DE': if (!isset($cities_de_array[$record->city])) { $cities_de_array[$record->city] = 1; } else { $cities_de_array[$record->city]++; } break; case 'CH': if (!isset($cities_ch_array[$record->city])) { $cities_ch_array[$record->city] = 1; } else { $cities_ch_array[$record->city]++; } break; case 'AT': if (!isset($cities_at_array[$record->city])) { $cities_at_array[$record->city] = 1; } else { $cities_at_array[$record->city]++; } break; } ?> <td class="dataTableContent" valign="top"><img src="
<?php echo 'images/flags/'. strtolower($record->country_code) . '.png'; ?>">
<?php echo ' ' . $record->country_name; ?> <b>Stadt:</b>
<?php echo $record->city . ($record->country_code == 'DE' ?
' - (' . $bundesland[$record->region] . ')' : '');?> <b>Klicks:</b> <font color=FF0000><b>
<?php echo count($ut['value']['last_page_url']);?></b></font></td>
<td colspan="2" rowspan="2" valign="bottom"><table cellspacing="0" cellpadding="2">
<tr>
<td class="dataTableContent" align="right" valign="top"><b>Startzeit:</b></td>
<td class="dataTableContent" colspan="2" valign="top">
<?php echo date('H:i:s', $ut['value']['time_entry']); ?></td>
<td class="dataTableContent" align="right" valign="top"><b>Leerlauf:</ b></td>
<td class="dataTableContent" colspan="2" valign="top">
<?php echo date('H:i:s', (time() - $ut['value']['end_time'] - 3600)); ?></td>
</tr>
<tr>
<td class="dataTableContent" align="right" valign="top"><b>Ende:</b></td>
<td class="dataTableContent" colspan="2" valign="top">
<?php echo date('H:i:s', $ut['value']['end_time']); ?></td>
<td class="dataTableContent" align="right" valign="top"><b>Gesamtzeit:</b></td>
<td class="dataTableContent" colspan="2" valign="top">
<?php echo date('H:i:s', ($ut['value']['end_time'] - $ut['value']['time_entry'] - 3600)); ?></td>
</tr>
</table></td>
</tr>
<tr>
<td class="dataTableContent" align="right" valign="top"><b>IP-Adresse:</b></td>
<td class="dataTableContent" valign="top"><a href="http://whois.domaintools.com/
<?php echo $ut['value']['ip_address'] ; ?>" target="_new">
<?php echo $ut['value']['ip_address'] ; ?></a> <a href="
<?php echo xtc_href_link
(FILENAME_USER_TRACKING
, 'action=delete_ip&ip=' .urlencode($ut['value']['ip_address']) . '&day=' . $day);?>"><font color=red>[delete IP]</font></a></td>
</tr>
<?php if ( ($num_sessions <= USER_TRACKER_MAX_NUM_DNS_QUERIES
) || (isset($_GET['viewsession']) && $_GET['viewsession'] == $ut['value']['session_id'])) {?> <tr>
<td class="dataTableContent" align="right" valign="top"><b>Hostname:</b></td>
<td class="dataTableContent" valign="top">
<?php echo gethostbyaddr($ut['value']['ip_address']); ?></td>
</tr>
<?php }?> <tr>
<td class="dataTableContent" align="right" valign="top"><b>Herkunfts-URL:</b></td>
<td class="dataTableContent" align="left" valign="top" colspan=3>
<?php echo '<a href="'. $ut['value']['referer_url'] .'" target="_blank">'. $ut['value']['referer_url'] .'</a>';?></td>
</tr>
<?php if (isset($_GET['viewsession']) && $_GET['viewsession'] == $ut['value']['session_id']){?> <tr>
<td></td>
<td colspan="3"><table border="0" cellspacing="1" cellpadding="2" bgcolor="999999" width="100%">
<?php while (($pu = each($ut['value']['last_page_url']))&&($du = each($ut['value']['page_desc']))) {?> <tr bgcolor=ffffff>
<td class="dataTableContent" valign=top align="right">
<?php echo date('H:i:s', $pu['key']); ?>:</td>
<td class="dataTableContent" valign=top align="left"><b>
<?php if ($du['value']!=''){ echo $du['value'];} ?></b><br>
<i>
<?php echo ($pu['value']); ?></i></td>
</tr>
<?php }?> </table></td>
</tr>
<?php }?> <tr>
<td colspan="4"><hr style="border:1px dashed black;"></td>
</tr>
<?php }?> </table></td>
</tr>
</table></td>
</tr>
<?php $se_array_sorted = array(); foreach ($query_array as $se_name => $query_array_unit){ $query_array_unique = array(); foreach ($query_array_unit as $resulq) { $query_array_unique[trim($resulq)]['query'] = trim($resulq); if (!isset($query_array_unique[trim($resulq)]['counter'])) $query_array_unique[trim($resulq)]['counter'] = 0; $query_array_unique[trim($resulq)]['counter'] = $query_array_unique[trim($resulq)]['counter'] + 1; } ksort($query_array_unique); $se_array_sorted[$se_name] = $query_array_unique; } ksort($host_array);?> <tr>
<td>
<a name="searchwords"><table border="0" width="100%">
<tr>
<td class="dataTableContent" valign="top">
<?php if (sizeof($se_array_sorted) > 0 ) { $all_keys_array = array(); foreach($se_array_sorted as $se_name => $query_array_unique) { echo '<h3>' . strtoupper($se_name) . ' (' . sizeof($query_array_unique) . 'x)</h3>'; foreach($query_array_unique as $q_string) { $sort_words_array[$q_string['query']] = $q_string['counter']; } arsort ($sort_words_array); foreach($sort_words_array as $query => $counter) { echo ' [' . $counter .'x] <a target="_blank" href="http://www.google.de/search?hl=de&q='.urlencode($query).'&meta=&num=30">' . (utf8_decode($query)) .'</a><br>'; } unset ($sort_words_array); } } else { echo 'noch keine Suchbegriffe.'; }; ?></td>
<td class="dataTableContent" colspan="2" valign="top">
<?php if (count( $cities_de_array) > 0) { ?><h3>Umkreisverteilung für Deutschland</h3>
<?php arsort($cities_de_array); foreach ($cities_de_array as $city => $no_access) echo '<b>'.$no_access . '</b> x aus der Umgebung von <b>' . $city . '</b><br>'; } if (count( $cities_ch_array) > 0) { ?> <h3>Umkreisverteilung für die Schweiz</h3>
<?php arsort($cities_ch_array); foreach ($cities_ch_array as $city => $no_access) echo '<b>'.$no_access . '</b> x aus der Umgebung von <b>' . $city . '</b><br>'; } if (count( $cities_at_array) > 0) { ?> <h3>Umkreisverteilung für Österreich</h3>
<?php arsort($cities_at_array); foreach ($cities_at_array as $city => $no_access) echo '<b>'.$no_access . '</b> x aus der Umgebung von <b>' . $city . '</b><br>'; } ?> <h3>
<?php echo sprintf('Externe Verweise (%s)', sizeof($host_array));?>:</h3>
<?php if (sizeof($host_array) > 0 ) { foreach($host_array as $host_q) { echo str_pad(('['.$host_q['counter'].'x]'), 10 - strlen('['.$host_q['counter'].'x]'), ".......", STR_PAD_RIGHT
) . ' <a href="http://' . $host_q['host']. '" target="_blank">' . $host_q['host'] .'</a><br>'; } } else { echo 'noch keine externen Links.'; };?> </td>
</tr>
</table></td>
</tr>
</table>
</td>
<!-- body_text_eof //-->
</tr>
</table>
<?php$heading = array ();$contents = array ();if ((xtc_not_null
($heading)) && (xtc_not_null
($contents))) { echo ' <td width="25%" valign="top">'."\n"; $box = new box
; echo $box->infoBox($heading, $contents); echo ' </td>'."\n";}require(DIR_WS_INCLUDES
. 'footer.php');?><br />
</body>
</html>
<?php geoip_close
($geocity); require(DIR_WS_INCLUDES
. 'application_bottom.php');?> Bei Suche nach entsprechenden Stellen im Code ist mir in Zeile 343 folgendes aufgefallen:
Jetzt bin ich nur nicht so versiert und weiß wie/wo ich diesen Code ändern muss.
Wäre schön, wenn mir da jemand weiterhilft.