summaryrefslogtreecommitdiffstats
path: root/database/sqlite
diff options
context:
space:
mode:
authorDavid Sommerseth <dazo@users.sourceforge.net>2008-12-12 11:45:38 +0100
committerDavid Sommerseth <dazo@users.sourceforge.net>2008-12-12 11:45:38 +0100
commit3e9f99119b6ce0b151f3396b7c28eed860a1286a (patch)
tree8150d75c898f05d78d67bb102d995a45d49417ae /database/sqlite
parentf8adb78cf80a8a555581b37be48d4881cfb906e0 (diff)
Modified flags again
Added RSETLASTUSED (last_accessed is set to NULL) and RSETLOGINCNT (lastlog table has been modified). NEVERUSED flag will only be set if last_accessed is NULL and login count == 0.
Diffstat (limited to 'database/sqlite')
-rw-r--r--database/sqlite/administration.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/database/sqlite/administration.c b/database/sqlite/administration.c
index 14f4194..61980c0 100644
--- a/database/sqlite/administration.c
+++ b/database/sqlite/administration.c
@@ -451,11 +451,24 @@ int eDBadminGetUserInfo(eurephiaCTX *ctx, int getInfo, eurephiaUSERINFO *user) {
free_nullsafe(user->username);
user->username = strdup_nullsafe(sqlite_get_value(uinf, 0, 0));
user->uid = atoi_nullsafe(sqlite_get_value(uinf, 0, 4));
- user->account_flags = ((sqlite_get_value(uinf, 0, 3) == NULL) ? ACCFLAG_NEVERUSED : 0);
- user->account_flags|= ((sqlite_get_value(uinf, 0, 2) != NULL) ? ACCFLAG_DEACTIVATED : 0);
- user->account_flags|= ((atoi(sqlite_get_value(uinf, 0, 5)) == 1) ? ACCFLAG_BLACKLISTED : 0);
+
+ // set DEACTIVATED flag, if deactivated field is not NULL
+ user->account_flags = ((sqlite_get_value(uinf, 0, 2) != NULL) ? ACCFLAG_DEACTIVATED : 0);
+ // set BLACKLISTED flag, if username is found in blacklist table
+ user->account_flags|= ((atoi_nullsafe(sqlite_get_value(uinf, 0, 5))==1) ? ACCFLAG_BLACKLISTED : 0);
+ // set OPENSESSION flag, if user has a lastlog entry with sessionstatus == 2
user->account_flags|= ((atoi_nullsafe(sqlite_get_value(uinf, 0, 6))==1) ? ACCFLAG_OPENSESSION : 0);
- user->account_flags|= ((atoi_nullsafe(sqlite_get_value(uinf, 0, 8))==1) ? ACCFLAG_ERRATTEMPT : 0);
+ // set ERRATTEMPT flag, if user has an entry in attempts log with attemtps > 0
+ user->account_flags|= ((atoi_nullsafe(sqlite_get_value(uinf, 0, 8))==1) ? ACCFLAG_ERRATTEMPT : 0);
+ // set NEVERUSED flag, if login count == 0 and last_accessed == NULL
+ user->account_flags|= (((atoi_nullsafe(sqlite_get_value(uinf,0, 7))==0)
+ && (sqlite_get_value(uinf, 0, 3) == NULL)) ? ACCFLAG_NEVERUSED : 0);
+ // set RSETLASTUSED flag, if login count == 0 and last_accessed == NULL
+ user->account_flags|= ((((user->account_flags & ACCFLAG_NEVERUSED) == 0)
+ && (sqlite_get_value(uinf,0,3)) == NULL) ? ACCFLAG_RSETLASTUSED: 0);
+ // set RSETLOGINCNT flag, if login count == 0 and last_accessed != NULL
+ user->account_flags|= (((atoi_nullsafe(sqlite_get_value(uinf,0, 7))==0)
+ && (sqlite_get_value(uinf,0,3)) != NULL) ? ACCFLAG_RSETLOGINCNT: 0);
if( (getInfo & USERINFO_user) == USERINFO_user ) {
free_nullsafe(user->password);