From 78aaa8fc74fefd6b798fc428063ab068dada75e4 Mon Sep 17 00:00:00 2001
From: Nigel Kukard <nkukard@lbsd.net>
Date: Sat, 26 Mar 2011 23:18:31 +0000
Subject: [PATCH] Added support for global/FirstLogin users_data entry

mysql> select * from users_data;
+----+--------+-------------+-------------------------------------------------+--------------+
| ID | UserID | LastUpdated | Name                                            | Value        |
+----+--------+-------------+-------------------------------------------------+--------------+
| 25 |      1 |  1301180792 | global/FirstLogin                               | 1301180792   |
+----+--------+-------------+-------------------------------------------------+--------------+
1 row in set (0.00 sec)
---
 smradius/modules/accounting/mod_accounting_sql.pm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/smradius/modules/accounting/mod_accounting_sql.pm b/smradius/modules/accounting/mod_accounting_sql.pm
index 232dc93c..e1d8904a 100644
--- a/smradius/modules/accounting/mod_accounting_sql.pm
+++ b/smradius/modules/accounting/mod_accounting_sql.pm
@@ -582,6 +582,16 @@ sub acct_log
 					awitpt::db::dblayer::Error());
 			return MOD_RES_NACK;
 		}
+		# Update first login?
+		if (defined($user->{'_UserDB'}->{'Users_data_get'}) && defined($user->{'_UserDB'}->{'Users_data_set'})) {
+			# Try get his first login
+			my $firstLogin = $user->{'_UserDB'}->{'Users_data_get'}($server,$user,'global','FirstLogin');
+			# If we don't get it, set it
+			if (!defined($firstLogin)) {
+				$user->{'_UserDB'}->{'Users_data_set'}($server,$user,'global','FirstLogin',$user->{'_Internal'}->{'Timestamp-Unix'});
+			}
+		}
+	
 	}
 
 
-- 
GitLab