/[LeafOK_CVS]/lbbs/src/user_list_display.c
ViewVC logotype

Diff of /lbbs/src/user_list_display.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.3 by sysadm, Wed Oct 22 04:48:53 2025 UTC Revision 1.6 by sysadm, Wed Oct 22 11:48:04 2025 UTC
# Line 32  enum select_cmd_t Line 32  enum select_cmd_t
32          EXIT_LIST = 0,          EXIT_LIST = 0,
33          VIEW_USER,          VIEW_USER,
34          CHANGE_PAGE,          CHANGE_PAGE,
35            REFRESH_LIST,
36          SHOW_HELP,          SHOW_HELP,
37  };  };
38    
39  static int user_list_draw_screen(int online_user)  static int user_list_draw_screen(int online_user)
40  {  {
41          clearscr();          clearscr();
42          show_top((online_user ? "[在线用户]" : "[已注册用户]"), BBS_name, "");          show_top((online_user ? "[线上使用者]" : "[已注册用户]"), BBS_name, "");
43          moveto(2, 0);          moveto(2, 0);
44          prints("返回[\033[1;32m←\033[0;37m,\033[1;32mESC\033[0;37m] 选择[\033[1;32m↑\033[0;37m,\033[1;32m↓\033[0;37m] "          prints("返回[\033[1;32m←\033[0;37m,\033[1;32mESC\033[0;37m] 选择[\033[1;32m↑\033[0;37m,\033[1;32m↓\033[0;37m] "
45                     "查看[\033[1;32m→\033[0;37m,\033[1;32mENTER\033[0;37m] 帮助[\033[1;32mh\033[0;37m]\033[m");                     "查看[\033[1;32m→\033[0;37m,\033[1;32mENTER\033[0;37m] 帮助[\033[1;32mh\033[0;37m]\033[m");
# Line 101  static int user_list_draw_items(int page Line 102  static int user_list_draw_items(int page
102                  moveto(4 + i, 1);                  moveto(4 + i, 1);
103    
104                  prints("  %6d  %s%*s %s%*s %s",                  prints("  %6d  %s%*s %s%*s %s",
105                             p_users[i].uid,                             p_users[i].id + 1,
106                             p_users[i].username,                             p_users[i].username,
107                             BBS_username_max_len - str_length(p_users[i].username, 1),                             BBS_username_max_len - str_length(p_users[i].username, 1),
108                             "",                             "",
# Line 178  static int user_online_list_draw_items(i Line 179  static int user_online_list_draw_items(i
179                  moveto(4 + i, 1);                  moveto(4 + i, 1);
180    
181                  prints("  %6d  %s%*s %s%*s %s%*s %s%*s %s",                  prints("  %6d  %s%*s %s%*s %s%*s %s%*s %s",
182                             p_users[i].user_info.uid,                             p_users[i].id + 1,
183                             p_users[i].user_info.username,                             p_users[i].user_info.username,
184                             BBS_username_max_len - str_length(p_users[i].user_info.username, 1),                             BBS_username_max_len - str_length(p_users[i].user_info.username, 1),
185                             "",                             "",
# Line 303  static enum select_cmd_t user_list_selec Line 304  static enum select_cmd_t user_list_selec
304                                  (*p_selected_index)++;                                  (*p_selected_index)++;
305                          }                          }
306                          break;                          break;
307                    case KEY_F5:
308                            return REFRESH_LIST;
309                  case 'h':                  case 'h':
310                          return SHOW_HELP;                          return SHOW_HELP;
311                  default:                  default:
# Line 411  int user_list_display(int online_user) Line 414  int user_list_display(int online_user)
414                  {                  {
415                  case EXIT_LIST:                  case EXIT_LIST:
416                          return 0;                          return 0;
417                    case REFRESH_LIST:
418                  case CHANGE_PAGE:                  case CHANGE_PAGE:
419                          ret = query_user_list(page_id, users, &user_count, &page_count);                          if (online_user)
420                          if (ret < 0)                          {
421                                    ret = query_user_online_list(page_id, online_users, &user_count, &page_count);
422                                    if (ret < 0)
423                                    {
424                                            log_error("query_user_online_list(page_id=%d) error\n", page_id);
425                                            return -2;
426                                    }
427                            }
428                            else
429                          {                          {
430                                  log_error("query_favor_articles(page_id=%d) error\n", page_id);                                  ret = query_user_list(page_id, users, &user_count, &page_count);
431                                  return -2;                                  if (ret < 0)
432                                    {
433                                            log_error("query_user_list(page_id=%d) error\n", page_id);
434                                            return -2;
435                                    }
436                          }                          }
437    
438                          if (user_count == 0) // empty list                          if (user_count == 0) // empty list
# Line 429  int user_list_display(int online_user) Line 445  int user_list_display(int online_user)
445                          }                          }
446                          break;                          break;
447                  case VIEW_USER:                  case VIEW_USER:
                         log_error("View user (uid=%d)\n",  
                                           (online_user ? online_users[selected_index].user_info.uid : users[selected_index].uid));  
448                          clearscr();                          clearscr();
449                          press_any_key_ex("功能不可用,按任意键返回", 60);                          if (online_user)
450                            {
451                                    USER_ONLINE_INFO users[5];
452                                    int user_cnt = 5;
453                                    prints("已选中用户 [%s]", online_users[selected_index].user_info.username);
454                                    ret = query_user_online_info_by_uid(online_users[selected_index].user_info.uid, users, &user_cnt, 0);
455                                    if (ret <= 0)
456                                    {
457                                            log_error("query_user_online_info_by_uid(uid=%d, cnt=%d) error: %d\n",
458                                                              online_users[selected_index].user_info.uid, user_cnt, ret);
459                                    }
460                                    else
461                                    {
462                                            for (int i = 0; i < user_cnt; i++)
463                                            {
464                                                    moveto(2 + i, 1);
465                                                    prints("会话%d", users[i].id);
466                                            }
467                                    }
468                            }
469                            else
470                            {
471                                    prints("已选中用户 [%s]", users[selected_index].username);
472                            }
473                            press_any_key();
474                          user_list_draw_screen(online_user);                          user_list_draw_screen(online_user);
475                          break;                          break;
476                  case SHOW_HELP:                  case SHOW_HELP:


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1