get('totalspeed')) ) { $resSpeed = do_mysql_query("SELECT (uploaded - uploadoffset) / ((UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(started)) - (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(last_action))) as speed FROM peers "); $tmpspeed = 0; while($inf = mysql_fetch_assoc($resSpeed)) { $tmpspeed += $inf['speed']; } $totalspeed=mksize($tmpspeed ) . "/s"; $cache_lite->setLifeTime($GLOBALS['config']['cache_totalspeed']); $cache_lite->save($totalspeed, 'totalspeed'); } return $totalspeed; } function stats_traffic() { global $cache_lite; if(!$GLOBALS['settings']['cache'] || !($ret = unserialize($cache_lite->get('stats_traffic'))) ) { $traffic_stats = do_mysql_query("SELECT SUM(downloaded) AS totaldl, SUM(uploaded) AS totalul FROM users") or sqlerr(__FILE__, __LINE__); $traffic_row = mysql_fetch_assoc($traffic_stats); $totaldownloaded = mksize($traffic_row["totaldl"]); $totaluploaded = mksize($traffic_row["totalul"]); $totaltraffic = mksize($traffic_row["totalul"]+$traffic_row["totaldl"]); $ret = array("total_downloaded" => $totaldownloaded, "total_uploaded" => $totaluploaded, "total_traffic" => $totaltraffic, "total_speed" => stats_totalspeed() ); $cache_lite->save( serialize($ret), 'stats_traffic'); } return $ret; } function stats_lastten() { global $cache_lite; if(!$GLOBALS['settings']['cache'] || !($records = unserialize($cache_lite->get('stats_lastten'))) ) { $result = do_mysql_query("SELECT username,class,last_access,id, (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(last_access)) as last_access2 FROM users WHERE last_access != '0000-00-00 00:00:00' ORDER BY last_access DESC LIMIT 10"); while ($record = mysql_fetch_array($result) ) { $records[] = $record; } $cache_lite->setLifeTime($GLOBALS['config']['cache_lastten']); $cache_lite->save( serialize($records) , 'stats_lastten'); } return $records; } function stats_activeusers() { global $cache_lite; if(!$GLOBALS['settings']['cache'] || !($active3 = unserialize($cache_lite->get('stats_activeusers'))) ) { $active1 = do_mysql_query("SELECT id, username, class, donor FROM users WHERE last_access >= DATE_SUB(NOW(), INTERVAL 5 MINUTE) ORDER BY username") or print(mysql_error()); while ($active2 = mysql_fetch_array($active1) ) { $active3[] = $active2; } $cache_lite->setLifeTime($GLOBALS['config']['cache_active']); $cache_lite->save( serialize($active3) , 'stats_activeusers'); } return $active3; } function stats_newestuser() { global $cache_lite; if(!$GLOBALS['settings']['cache'] || !($user = unserialize($cache_lite->get('stats_newestuser')) )) { $res = do_mysql_query("SELECT id,username FROM users WHERE status='confirmed' ORDER BY inverted_added LIMIT 1") or die(mysql_error()); $user = mysql_fetch_assoc($res); $cache_lite->setLifeTime($GLOBALS['config']['cache_newestuser']); $cache_lite->save( serialize($user), 'stats_newestuser'); } return $user; } function stats_gender() { global $cache_lite; if(!$GLOBALS['settings']['cache'] || !($res = unserialize($cache_lite->get('stats_gender')) )) { $sql = 'SELECT gender, count(gender) as gender_c FROM users GROUP by gender'; $r = do_mysql_query($sql); $res = array('Male' => 0, 'Female' => 0); while($inf = mysql_fetch_assoc($r)) { $res[ $inf['gender'] ] = $inf['gender_c']; } $cache_lite->setLifeTime($GLOBALS['config']['cache_index']); $cache_lite->save( serialize($res), 'stats_gender'); } return $res; } function stats_status() { global $cache_lite; if(!$GLOBALS['settings']['cache'] || !($res = unserialize($cache_lite->get('stats_status')) )) { $sql = 'SELECT status, count(status) as status_c FROM users GROUP by status'; $r = do_mysql_query($sql); $res = array('pending' => 0, 'confirmed' => 0); while($inf = mysql_fetch_assoc($r)) { $res[ $inf['status'] ] = $inf['status_c']; } $cache_lite->setLifeTime($GLOBALS['config']['cache_index']); $cache_lite->save( serialize($res) , 'stats_status'); } return $res; } function stats_general() { $stats = array(); global $cache_lite; if(!$GLOBALS['settings']['cache'] || !($stats = unserialize($cache_lite->get('stats_general'))) ) { $gender_stats = stats_gender(); $stats['male'] = $gender_stats['Male']; $stats['female'] = $gender_stats['Female']; $status_stats = stats_status(); $stats['registered'] = $status_stats['confirmed']; $stats['unverified'] = $status_stats['pending']; $stats['torrents'] = number_format(get_row_count("torrents")); //$dead = number_format(get_row_count("torrents", "WHERE visible='no'")); $stats['seeders'] = get_row_count("peers", "WHERE seeder='yes'"); $stats['leechers'] = get_row_count("peers", "WHERE seeder='no'"); if ($stats['leechers'] == 0) $stats['ratio'] = 0; else $stats['ratio'] = round($stats['seeders'] / $stats['leechers'] * 100); $stats['peers'] = number_format($stats['seeders'] + $stats['leechers']); $cache_lite->setLifeTime($GLOBALS['config']['cache_index']); $cache_lite->save( serialize($stats) , 'stats_general'); } return $stats; } ?>