/[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.6 by sysadm, Wed Oct 22 11:48:04 2025 UTC Revision 1.11 by sysadm, Thu Oct 23 05:54:16 2025 UTC
# Line 16  Line 16 
16    
17  #include "common.h"  #include "common.h"
18  #include "io.h"  #include "io.h"
19    #include "lml.h"
20  #include "log.h"  #include "log.h"
21  #include "login.h"  #include "login.h"
22  #include "screen.h"  #include "screen.h"
# Line 36  enum select_cmd_t Line 37  enum select_cmd_t
37          SHOW_HELP,          SHOW_HELP,
38  };  };
39    
40    static int display_user_intro_key_handler(int *p_key, DISPLAY_CTX *p_ctx)
41    {
42            return 0;
43    }
44    
45  static int user_list_draw_screen(int online_user)  static int user_list_draw_screen(int online_user)
46  {  {
47          clearscr();          clearscr();
# Line 343  int user_list_display(int online_user) Line 349  int user_list_display(int online_user)
349          char page_info_str[LINE_BUFFER_LEN];          char page_info_str[LINE_BUFFER_LEN];
350          USER_INFO users[BBS_user_limit_per_page];          USER_INFO users[BBS_user_limit_per_page];
351          USER_ONLINE_INFO online_users[BBS_user_limit_per_page];          USER_ONLINE_INFO online_users[BBS_user_limit_per_page];
352          int user_count;          int user_count = 0;
353          int page_count;          int page_count = 0;
354          int page_id = 0;          int page_id = 0;
355          int selected_index = 0;          int selected_index = 0;
356          int ret;          int ret = 0;
357    
358          user_list_draw_screen(online_user);          user_list_draw_screen(online_user);
359    
# Line 450  int user_list_display(int online_user) Line 456  int user_list_display(int online_user)
456                          {                          {
457                                  USER_ONLINE_INFO users[5];                                  USER_ONLINE_INFO users[5];
458                                  int user_cnt = 5;                                  int user_cnt = 5;
                                 prints("已选中用户 [%s]", online_users[selected_index].user_info.username);  
459                                  ret = query_user_online_info_by_uid(online_users[selected_index].user_info.uid, users, &user_cnt, 0);                                  ret = query_user_online_info_by_uid(online_users[selected_index].user_info.uid, users, &user_cnt, 0);
460                                  if (ret <= 0)                                  if (ret <= 0)
461                                  {                                  {
# Line 459  int user_list_display(int online_user) Line 464  int user_list_display(int online_user)
464                                  }                                  }
465                                  else                                  else
466                                  {                                  {
467                                            moveto(1, 1);
468                                            prints("已选中用户 [%s] 会话 %d", online_users[selected_index].user_info.username, online_users[selected_index].id);
469    
470                                          for (int i = 0; i < user_cnt; i++)                                          for (int i = 0; i < user_cnt; i++)
471                                          {                                          {
472                                                  moveto(2 + i, 1);                                                  moveto(2 + i, 1);
# Line 468  int user_list_display(int online_user) Line 476  int user_list_display(int online_user)
476                          }                          }
477                          else                          else
478                          {                          {
479                                  prints("已选中用户 [%s]", users[selected_index].username);                                  char intro_f[BBS_user_intro_max_len];
480                                    char profile_f[BUFSIZ];
481                                    long line_offsets[BBS_user_intro_max_line + 1];
482                                    long lines;
483    
484                                    lml_render(users[selected_index].intro, intro_f, sizeof(intro_f), 0);
485    
486                                    snprintf(profile_f, sizeof(profile_f),
487                                                     "已选中用户 [%s]\n发帖数:%d\n\n%s\n",
488                                                     users[selected_index].username,
489                                                     get_user_article_cnt(users[selected_index].uid),
490                                                     intro_f);
491    
492                                    lines = split_data_lines(profile_f, SCREEN_COLS, line_offsets, BBS_user_intro_max_line + 4, 1, NULL);
493                                    display_data(profile_f, lines, line_offsets, 2, display_user_intro_key_handler, DATA_READ_HELP);
494                          }                          }
495                          press_any_key();                          press_any_key();
496                          user_list_draw_screen(online_user);                          user_list_draw_screen(online_user);


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

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