diff options
| author | David Sommerseth <dazo@users.sourceforge.net> | 2008-12-12 11:45:38 +0100 |
|---|---|---|
| committer | David Sommerseth <dazo@users.sourceforge.net> | 2008-12-12 11:45:38 +0100 |
| commit | 3e9f99119b6ce0b151f3396b7c28eed860a1286a (patch) | |
| tree | 8150d75c898f05d78d67bb102d995a45d49417ae /database/sqlite | |
| parent | f8adb78cf80a8a555581b37be48d4881cfb906e0 (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.c | 21 |
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); |
