| 6 |
* Copyright (C) 2004-2025 Leaflet <leaflet@leafok.com> |
* Copyright (C) 2004-2025 Leaflet <leaflet@leafok.com> |
| 7 |
*/ |
*/ |
| 8 |
|
|
| 9 |
|
#ifdef HAVE_CONFIG_H |
| 10 |
|
#include "config.h" |
| 11 |
|
#endif |
| 12 |
|
|
| 13 |
#include "bbs.h" |
#include "bbs.h" |
| 14 |
#include "ip_mask.h" |
#include "ip_mask.h" |
| 15 |
#include "lml.h" |
#include "lml.h" |
| 24 |
#include <time.h> |
#include <time.h> |
| 25 |
#include <sys/param.h> |
#include <sys/param.h> |
| 26 |
|
|
| 27 |
#define BBS_max_sessions_per_user 10 |
enum _user_info_display_constant_t |
| 28 |
#define LAST_LOGIN_DT_MAX_LEN 50 |
{ |
| 29 |
|
BBS_max_sessions_per_user = 10, |
| 30 |
|
LAST_LOGIN_DT_MAX_LEN = 50, |
| 31 |
|
}; |
| 32 |
|
|
| 33 |
static int display_user_info_key_handler(int *p_key, DISPLAY_CTX *p_ctx) |
static int display_user_info_key_handler(int *p_key, DISPLAY_CTX *p_ctx) |
| 34 |
{ |
{ |
| 173 |
p_user_info->username, p_user_info->nickname, p_user_info->visit_count, article_cnt, |
p_user_info->username, p_user_info->nickname, p_user_info->visit_count, article_cnt, |
| 174 |
str_last_login_dt, (session_cnt > 0 ? login_ip : "未知"), p_user_info->exp, |
str_last_login_dt, (session_cnt > 0 ? login_ip : "未知"), p_user_info->exp, |
| 175 |
(session_cnt > 0 ? "在线或因断线不详" : str_last_logout_dt), life, user_level_name, user_level + 1, astro_str, |
(session_cnt > 0 ? "在线或因断线不详" : str_last_logout_dt), life, user_level_name, user_level + 1, astro_str, |
| 176 |
(session_cnt > 0 ? "目前在线,状态如下:\n" : ""), (session_cnt > 0 ? action_str : ""), |
(session_cnt > 0 ? "目前在线,状态如下: \n" : ""), (session_cnt > 0 ? action_str : ""), |
| 177 |
(intro_len > 0 ? "\033[0;36m个人说明档如下:\033[m" : "\033[0;36m没有个人说明档\033[m"), |
(intro_len > 0 ? "\033[0;36m个人说明档如下: \033[m" : "\033[0;36m没有个人说明档\033[m"), |
| 178 |
intro_f); |
intro_f); |
| 179 |
|
|
| 180 |
lines = split_data_lines(user_info_f, SCREEN_COLS + 1, line_offsets, MIN(SCREEN_ROWS - 1, BBS_user_intro_max_line + 8), 1, NULL); |
lines = split_data_lines(user_info_f, SCREEN_COLS + 1, line_offsets, MIN(SCREEN_ROWS - 1, BBS_user_intro_max_line + 8), 1, NULL); |