本文整理汇总了C++中WUser::GetLastOnDateNumber方法的典型用法代码示例。如果您正苦于以下问题:C++ WUser::GetLastOnDateNumber方法的具体用法?C++ WUser::GetLastOnDateNumber怎么用?C++ WUser::GetLastOnDateNumber使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WUser
的用法示例。
在下文中一共展示了WUser::GetLastOnDateNumber方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: auto_purge
void auto_purge() {
char s[80];
unsigned int days = 0;
int skipsl = 0;
IniFile iniFile(FilePath(GetApplication()->GetHomeDir(), WWIV_INI), INI_TAG);
if (iniFile.IsOpen()) {
days = iniFile.GetNumericValue("AUTO_USER_PURGE");
skipsl = iniFile.GetNumericValue("NO_PURGE_SL");
}
iniFile.Close();
if (days < 60) {
if (days > 0) {
sysoplog("!!! WARNING: Auto-Purge canceled [AUTO_USER_PURGE < 60]", false);
sysoplog("!!! WARNING: Edit WWIV.INI and Fix this", false);
}
return;
}
time_t tTime = time(NULL);
int nUserNumber = 1;
sysoplogfi(false, "Auto-Purged Inactive Users (over %d days, SL less than %d)", days, skipsl);
do {
WUser user;
GetApplication()->GetUserManager()->ReadUser(&user, nUserNumber);
if (!user.IsExemptAutoDelete()) {
unsigned int d = static_cast<unsigned int>((tTime - user.GetLastOnDateNumber()) / SECONDS_PER_DAY_FLOAT);
// if user is not already deleted && SL<NO_PURGE_SL && last_logon
// greater than AUTO_USER_PURGE days ago
if (!user.IsUserDeleted() && user.GetSl() < skipsl && d > days) {
sprintf(s, "*** AUTOPURGE: Deleted User: #%3.3d %s", nUserNumber, user.GetName());
sysoplog(s, false);
deluser(nUserNumber);
}
}
++nUserNumber;
} while (nUserNumber <= GetApplication()->GetStatusManager()->GetUserCount());
}