| 30 |
#include <regex.h> |
#include <regex.h> |
| 31 |
#include <unistd.h> |
#include <unistd.h> |
| 32 |
#include <mysql/mysql.h> |
#include <mysql/mysql.h> |
| 33 |
|
#include <sys/param.h> |
| 34 |
|
|
| 35 |
int bbs_login(void) |
int bbs_login(void) |
| 36 |
{ |
{ |
| 519 |
return -1; |
return -1; |
| 520 |
} |
} |
| 521 |
|
|
| 522 |
|
return 0; |
| 523 |
|
} |
| 524 |
|
|
| 525 |
|
int user_online_exp(MYSQL *db) |
| 526 |
|
{ |
| 527 |
|
char sql[SQL_BUFFER_LEN]; |
| 528 |
|
|
| 529 |
|
// +1 exp for every 5 minutes online since last logout |
| 530 |
|
// but at most 24 hours worth of exp can be gained in Telnet session |
| 531 |
|
snprintf(sql, sizeof(sql), |
| 532 |
|
"UPDATE user_pubinfo SET exp = exp + FLOOR(LEAST(TIMESTAMPDIFF(" |
| 533 |
|
"SECOND, GREATEST(last_login_dt, IF(last_logout_dt IS NULL, last_login_dt, last_logout_dt)), NOW()" |
| 534 |
|
") / 60 / 5, 12 * 24)), last_logout_dt = NOW() " |
| 535 |
|
"WHERE UID = %d", |
| 536 |
|
BBS_priv.uid); |
| 537 |
|
if (mysql_query(db, sql) != 0) |
| 538 |
|
{ |
| 539 |
|
log_error("Update user_pubinfo error: %s\n", mysql_error(db)); |
| 540 |
|
return -1; |
| 541 |
|
} |
| 542 |
|
|
| 543 |
return 0; |
return 0; |
| 544 |
} |
} |
| 545 |
|
|