nicht alle "gäste online" werden angezeigt
am 15.09.2011 - 19:28 Uhr in
Hi,
ich habe auf meiner seite einen block der mir anzeigt welche user und wieviel gäste online sind.
ich benutze dafür eine angepasste version davon: http://scito.ch/content/show-online-visitors-block-drupal-7
nun habe ich aber das problem das die anzahl gäste hinten und vorne nicht stimmt.
so zeigt mir piwik zb "Letzte 30 Minuten Besuche 123 Seitenansichten 1102" an.
und der block gibt nur "Zur Zeit sind 6 User und 7 Gäste online."
jetzt habe ich mitbekommen das die meisten ips die mir piwik anzeigt garnicht in der session tabelle auftauchen auf welcher der block ja basiert.
die frage is nun wovon hängt es ab das gäste eine session in der tabelle bekommen?
und gibt es eine andere möglichkeit "user und gäste online" anzuzeigen?
gruss jan
edit:
hier meine version
wahrscheinlich etwas wirr aber ich bin halt php noob
<?php
if (user_access('access content')) {
$interval = REQUEST_TIME - variable_get('user_block_seconds_online', 900);
$authenticated_count = db_query("SELECT COUNT(DISTINCT s.uid) FROM {sessions} s WHERE s.timestamp >= :timestamp AND s.uid > 0", array(':timestamp' => $interval))->fetchField();
$output="";
$output_temp="";
$max_users = variable_get('user_block_max_list_count', 10);
if ($authenticated_count && $max_users) {
$items = db_query_range('SELECT u.uid, u.name, MAX(s.timestamp) AS max_timestamp FROM {users} u INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.timestamp >= :interval AND s.uid > 0 GROUP BY u.uid, u.name ORDER BY max_timestamp DESC', 0, $max_users, array(':interval' => $interval))->fetchAll();
$output_temp .= theme('user_list', array('users' => $items));
}
$guest_count = db_query("SELECT COUNT(DISTINCT s.hostname) FROM {sessions} s WHERE s.timestamp >= :timestamp", array(':timestamp' => $interval))->fetchField();
$guest_count_temp=$guest_count - $authenticated_count;
$output .= "Zur Zeit sind ".$authenticated_count." User und ".$guest_count_temp." Gäste online.";
$output .= $output_temp;
return $output;
}
?>- Anmelden oder Registrieren um Kommentare zu schreiben

keiner eine idee?
am 17.09.2011 - 11:01 Uhr
keiner eine idee?