From eb2b8261794cadde0becbcfc50a0049f52dc05f2 Mon Sep 17 00:00:00 2001 From: Karl 'vollmerk' Vollmer Date: Wed, 6 Aug 2008 17:02:56 +0000 Subject: make the ip history only clear the old stuff sometimes, also fix rounding issues on the downsampling --- lib/class/user.class.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'lib/class/user.class.php') diff --git a/lib/class/user.class.php b/lib/class/user.class.php index 19eabfe1..00e7e34d 100644 --- a/lib/class/user.class.php +++ b/lib/class/user.class.php @@ -569,10 +569,12 @@ class User extends database_object { $sql = "INSERT INTO `ip_history` (`ip`,`user`,`date`) VALUES ('$ip','$user','$date')"; $db_results = Dba::query($sql); - /* Clean up old records */ - $date = time() - (86400*Config::get('user_ip_cardinality')); - $sql = "DELETE FROM `ip_history` WHERE `date` < $date"; - $db_results = Dba::query($sql); + /* Clean up old records... sometimes */ + if (rand(1,100) > 60) { + $date = time() - (86400*Config::get('user_ip_cardinality')); + $sql = "DELETE FROM `ip_history` WHERE `date` < $date"; + $db_results = Dba::query($sql); + } return true; -- cgit