'". $dif."'"); $anz = db_result($erg,0); return ($anz); } ## ### #### ##### nur die user function ges_user_online() { $dif = date('Y-m-d H:i:s', time() - USERUPTIME); $erg = db_query("SELECT COUNT(*) FROM `prefix_online` WHERE uid > 0 and uptime > '". $dif."'"); $anz = db_result($erg,0); return ($anz); } ## ### #### ##### nur die gaeste function ges_gast_online() { $dif = date('Y-m-d H:i:s', time() - USERUPTIME); $erg = db_query("SELECT COUNT(*) FROM `prefix_online` WHERE uid = 0 and uptime > '". $dif."'"); $anz = db_result($erg,0); return ($anz); } ## ### #### ##### user online liste function user_online_liste(){ $OnListe = ''; $dif = date('Y-m-d H:i:s', time() - USERUPTIME); $erg = db_query("SELECT DISTINCT uid, name, prefix_ranks.bez, spezrank FROM `prefix_online` left join prefix_user on prefix_user.id = prefix_online.uid left join prefix_ranks ON prefix_ranks.id = prefix_user.spezrank WHERE uid > 0 and uptime > '". $dif."'"); while($row = db_fetch_object($erg)) { if ( $row->spezrank <> 0 ) { $OnListe .= ''.$row->name.' , '; } else { $OnListe .= ''.$row->name.' , '; } } $OnListe = substr($OnListe,0,strlen($OnListe) - 3); return ($OnListe); } # ## user onloine list fuer admin + gaeste function user_admin_online_liste () { $OnListe = ''; $class = ''; $dif = date('Y-m-d H:i:s', time() - USERUPTIME); $erg = db_query("SELECT DISTINCT uid, DATE_FORMAT(uptime, '%d.%m.%Y - %H:%i:%s') as datum, ipa, name FROM `prefix_online` left join prefix_user on prefix_user.id = prefix_online.uid WHERE uptime > '". $dif."' ORDER BY uid DESC"); while($row = db_fetch_object($erg)) { $name = $row->name; if ( $row->uid == 0) { $name = 'Gast'; } $host_patterns = array( '/crawl-[0-9]{1,3}-[0-9]{1,3}-[0-9]{1,3}-[0-9]{1,3}\.googlebot\.com/si', '/[a-z]*[0-9]*\.inktomisearch\.com/si', '/[a-z]*[0-9]*\.ask\.com/si', '/p[0-9A-F]*\.dip[0-9]*\.t-(dialin|ipconnect)\.(net|de)/si', '/[0-9A-F]*\.ipt\.aol\.com/si', '/dslb-[0-9]{3}-[0-9]{3}-[0-9]{3}-[0-9]{3}.pools.arcor-ip.net/si', '/crawl[0-9]*\}exabot\.com/si', '/[0-9A-Z]+\.adsl\.highway\.telekom\.at/si' ); $host_names = array( 'Bot Google', 'Bot Inktomi/Yahoo', 'Bot Ask.com', 'T-Online', 'AOL', 'Arcor DSL', 'Bot Exalead', 'Telekom Austria DSL' ); $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite' ); $OnListe .= ''; $OnListe .= ''. $name .''; $OnListe .= ''. $row->datum .''; $OnListe .= ''. $row->ipa .''; $OnListe .= ''. preg_replace($host_patterns, $host_names, @gethostbyaddr ( $row->ipa )) .''; $OnListe .= ''; } #$OnListe = substr($OnListe,0,strlen($OnListe) - 3); return ($OnListe); } function getip() { if (getenv("HTTP_X_FORWARDED_FOR")) { return (getenv("HTTP_X_FORWARDED_FOR")); } else { return (getenv("REMOTE_ADDR")); } } function site_statistic () { if (!array_key_exists('ilchCMSstati',$_SESSION)) { $_SESSION['ilchCMSstati'] = 'geloggt'; $d = date('j'); $m = date('n'); $y = date('Y'); $ip = getip(); $ergResul = db_result(db_query("SELECT COUNT(ip) FROM prefix_stats WHERE ip = '".$ip."' AND `day` = ".$d." AND mon = ".$m." AND yar = ".$y ),0); debug ( $ergResul.'#statistic res' ); if ( $ergResul == 0 ) { $os = site_statistic_get_os($_SERVER['HTTP_USER_AGENT']); $br = site_statistic_get_browser($_SERVER['HTTP_USER_AGENT']); $wt = date('w'); $st = date('G'); $ur = ( isset ($_SERVER['HTTP_REFERER']) ? site_statistic_get_referer($_SERVER['HTTP_REFERER']) : '' ); db_query("INSERT INTO prefix_stats (wtag,stunde,`day`,mon,yar,os,browser,ip,ref) VALUES(".$wt.",".$st.",".$d.",".$m.",".$y.",'".$os."','".$br."','".$ip."','".$ur."')"); $dc = ( strlen ($d) == 1 ? '0'.$d : $d ); $mc = ( strlen ($m) == 1 ? '0'.$m : $m ); $cdate = $y.'-'.$mc.'-'.$dc; $query = "SELECT COUNT(date) FROM `prefix_counter` WHERE `date` = '".$cdate."'"; if ( db_result(db_query($query),0) == 0 ) { db_query('INSERT INTO `prefix_counter` VALUES ( "'.$cdate.'" , "1" ) ' ); } else { db_query('UPDATE `prefix_counter` SET `count` = `count` +1 WHERE `date` = "'.$cdate.'"'); } } } } function site_statistic_get_browser($useragent) { if (preg_match("=MSIE [0-9]{1,2}.[0-9]{1,2}.*Opera.([0-9]{1})=", $useragent, $browser)) { return "Opera ".$browser[1]." (als IE)"; } elseif (preg_match("=MSIE ([0-9]{1,2}).[0-9]{1,2}=", $useragent, $browser)) { return "Internet Explorer ".$browser[1]; } elseif (preg_match("=Opera/([0-9]{1,2}).[0-9]{1,2}=", $useragent, $browser)) { return "Opera ".$browser[1]; } elseif (preg_match("=Konqueror=", $useragent)) { return "Konqueror"; } elseif (preg_match("=Netscape/7.[0-9]{1,2}=", $useragent)) { return "Netscape Navigator 7"; } elseif (preg_match("=^Mozilla.*Firefox\/(.*)$=", $useragent, $browser)) { return ("Firefox ".$browser[1]); } elseif (preg_match("=Mozilla/5.[0-9]{1,2}=", $useragent)) { return "Netscape Navigator 6"; } elseif (preg_match("=Mozilla/([0-9]{1,2}).[0-9]{1,2}=", $useragent, $browser)) { return "Netscape Navigator ".$browser[1]; } else { return 0; } } function site_statistic_get_os($useragent){ if (preg_match("=Windows NT 5\.0|Windows 2000=", $useragent)) { return "Windows 2000"; } elseif (preg_match("=Windows NT 5\.1|Windows XP=", $useragent)) { return "Windows XP"; } elseif (preg_match("=Windows NT 6\.0|Windows Vista=", $useragent)) { return "Windows Vista"; } elseif (preg_match("=Windows NT 5\.2|Windows Server 2003|Windows XP x64=", $useragent)) { return "Windows Server 2003\\Windows XP x64"; } elseif (preg_match("=Windows NT 4\.0|Windows NT|WinNT4\.0=", $useragent)) { return "Windows NT"; } elseif (preg_match("=Windows 98=", $useragent)) { return "Windows 98"; } elseif (preg_match("=Windows 95=", $useragent)) { return "Windows 95"; } elseif (preg_match("=Mac_PowerPC|Macintosh=", $useragent)) { return "Macintosh"; } elseif (preg_match("=Linux=", $useragent)) { return "Linux"; } elseif (preg_match("=SunOS=", $useragent)) { return "SunOS"; } else { return 0; } } function site_statistic_get_referer ( $referer ) { if ( ! empty ($referer) ) { $refzar = parse_url($referer); $refspa = 'http://'.$refzar['host'].$refzar['path']; return $refspa; } else { return 0; } } ?>